如何获得Baseadapter位置 [英] How to get position in Baseadapter
本文介绍了如何获得Baseadapter位置的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我收到来自服务器的响应,并在列表视图中显示,但如何让baseadapter位置,,我在列表项1的ImageView,我想获得用户ID为每个选择,现在我得到的everylistitem 6最后ID当我点击的ImageView
这是我的回应
{
搜索结果: [
{
USER_ID:5, },
{
USER_ID:6, }
]
}
我的适配器
公共类CustomAdapterAccept延伸BaseAdapter { 私人上下文的背景下;
私人的ArrayList<&HashMap的LT;字符串,字符串>>的ListData;
私人AQuery aQuery; 私人字符串TAGs_NAME =user_fname;
私人字符串TAG_FRIENDID =USER_ID;
私人字符串TAGs_IMAGES =user_pic;
私人字符串TAGs_CITY =user_city;
公共CustomAdapterAccept(上下文的背景下,ArrayList的<&HashMap的LT;字符串,字符串>>的ListData){
this.context =背景;
this.listData =的ListData;
aQuery =新AQuery(this.context);
} @覆盖
公众诠释的getCount(){
返回listData.size();
} @覆盖
公共对象的getItem(INT位置){
返回listData.get(位置);
} @覆盖
众长getItemId(INT位置){
返回的位置;
} @覆盖
公共查看getView(最终诠释的立场,观点convertView,父母的ViewGroup){
ViewHolder持有人;
如果(convertView == NULL){
持有人=新ViewHolder();
convertView = LayoutInflater.from(上下文).inflate(R.layout.list_item_balloonationsearch,NULL);
holder.propics =(ImageView的)convertView.findViewById(R.id.list_item_ballonationsearch_propic);
holder.txtproname =(TextView中)convertView.findViewById(R.id.list_item_ballonationsearch_username); holder.addfriend =(ImageView的)convertView.findViewById(R.id.addfriend_after_searchs);
holder.city =(TextView中)convertView.findViewById(R.id.serach_city); convertView.setTag(保持器);
}其他{
支架=(ViewHolder)convertView.getTag();
} holder.addfriend.setTag(位置);
holder.addfriend.setOnClickListener(新View.OnClickListener(){
@覆盖
公共无效的onClick(查看视图){ 最终诠释位置=(int)的view.getTag();
frindsids = listData.get(位置)获得(TAG_FRIENDID);
的System.out.println(HWIHC ID+ frindsids);
}
}); holder.txtproname.setText(listData.get(位置)获得(TAGs_NAME));
holder.city.setText(listData.get(位置)获得(TAGs_CITY));
aQuery.id(holder.propics).image(listData.get(position).get(TAGs_IMAGES),true,true,0,R.drawable.male); //图片参数:1:内存缓存,2:文件缓存,3:目标宽度,4:备用图片
返回convertView;
}
类ViewHolder {
ImageView的propics;
TextView的txtproname,市;
TextView的txtproid;
TextView的txtprofilecast;
TextView的txtprofileage;
TextView的txtprofileplace;
公共ImageView的addfriend;
} }
解决方案
我编辑了自己的code检查,并尝试
holder.addfriend =(ImageView的)convertView.findViewById(R.id.addfriend_after_searchs);
holder.addfriend.setTag(位置);
holder.city =(TextView中)convertView.findViewById(R.id.serach_city); convertView.setTag(保持器);
}其他{
支架=(ViewHolder)convertView.getTag();
} holder.addfriend.setTag(位置);
holder.addfriend.setOnClickListener(新View.OnClickListener(){
@覆盖
公共无效的onClick(查看视图){
INT POSI =(整数)view.getTag(); frindsids = listData.get(POSI)获得(TAG_FRIENDID);
的System.out.println(HWIHC ID+ frindsids);
}
}); holder.txtproname.setText(listData.get(位置)获得(TAGs_NAME));
holder.city.setText(listData.get(位置)获得(TAGs_CITY));
aQuery.id(holder.propics).image(listData.get(position).get(TAGs_IMAGES),true,true,0,R.drawable.male); //图片参数:1:内存缓存,2:文件缓存,3:目标宽度,4:备用图片
返回convertView;
}
类ViewHolder {
ImageView的propics;
TextView的txtproname,市;
TextView的txtproid;
TextView的txtprofilecast;
TextView的txtprofileage;
TextView的txtprofileplace;
公共ImageView的addfriend;
} }
I am getting response from server and display it in listview,but how to get position in baseadapter,,i have one imageview in listitem and i want to get userid as per selection,right now i am getting 6 last id in everylistitem when i click on imageview
this is my response
{
"searchresult": [
{
"user_id": "5",
},
{
"user_id": "6",
}
]
}
MY adapter
public class CustomAdapterAccept extends BaseAdapter{
private Context context;
private ArrayList<HashMap<String,String>> listData;
private AQuery aQuery;
private String TAGs_NAME="user_fname";
private String TAG_FRIENDID="user_id";
private String TAGs_IMAGES="user_pic";
private String TAGs_CITY="user_city";
public CustomAdapterAccept(Context context,ArrayList<HashMap<String,String>> listData) {
this.context = context;
this.listData=listData;
aQuery = new AQuery(this.context);
}
@Override
public int getCount() {
return listData.size();
}
@Override
public Object getItem(int position) {
return listData.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView( final int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
holder = new ViewHolder();
convertView = LayoutInflater.from(context).inflate(R.layout.list_item_balloonationsearch, null);
holder.propics = (ImageView) convertView.findViewById(R.id.list_item_ballonationsearch_propic);
holder.txtproname = (TextView) convertView.findViewById(R.id.list_item_ballonationsearch_username);
holder.addfriend=(ImageView) convertView.findViewById(R.id.addfriend_after_searchs);
holder.city=(TextView) convertView.findViewById(R.id.serach_city);
convertView.setTag(holder);
}else{
holder = (ViewHolder) convertView.getTag();
}
holder.addfriend.setTag(position);
holder.addfriend.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
final int position = (int) view.getTag();
frindsids=listData.get(position).get(TAG_FRIENDID);
System.out.println("HWIHC ID"+frindsids);
}
});
holder.txtproname.setText(listData.get(position).get(TAGs_NAME));
holder.city.setText(listData.get(position).get(TAGs_CITY));
aQuery.id(holder.propics).image(listData.get(position).get(TAGs_IMAGES),true,true,0,R.drawable.male);
// image parameter : 1 : memory cache,2:file cache,3:target width,4:fallback image
return convertView;
}
class ViewHolder{
ImageView propics;
TextView txtproname,city;
TextView txtproid;
TextView txtprofilecast;
TextView txtprofileage;
TextView txtprofileplace;
public ImageView addfriend;
}
}
解决方案
I have edited your code check it and try
holder.addfriend=(ImageView) convertView.findViewById(R.id.addfriend_after_searchs);
holder.addfriend.setTag(position);
holder.city=(TextView) convertView.findViewById(R.id.serach_city);
convertView.setTag(holder);
}else{
holder = (ViewHolder) convertView.getTag();
}
holder.addfriend.setTag(position);
holder.addfriend.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
int posi = (Integer) view.getTag();
frindsids=listData.get(posi).get(TAG_FRIENDID);
System.out.println("HWIHC ID"+frindsids);
}
});
holder.txtproname.setText(listData.get(position).get(TAGs_NAME));
holder.city.setText(listData.get(position).get(TAGs_CITY));
aQuery.id(holder.propics).image(listData.get(position).get(TAGs_IMAGES),true,true,0,R.drawable.male);
// image parameter : 1 : memory cache,2:file cache,3:target width,4:fallback image
return convertView;
}
class ViewHolder{
ImageView propics;
TextView txtproname,city;
TextView txtproid;
TextView txtprofilecast;
TextView txtprofileage;
TextView txtprofileplace;
public ImageView addfriend;
}
}
这篇关于如何获得Baseadapter位置的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文