1
我的问题很简单:我有一个定义适配器,设置图像在ListView:Android的ListView控件定义适配器
package com.tred.stars;
import android.app.Activity;
import android.content.ClipData;
import android.content.Context;
import android.graphics.Color;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
public class CustomListAdapter extends ArrayAdapter<String> {
public static String selected_pers= "Graziana Grasso";
Activity context;
String[] itemname;
Integer[] imgid;
public CustomListAdapter(Activity context, String[] itemname, Integer[] imgid) {
super(context, R.layout.mylist, itemname);
// TODO Auto-generated constructor stub
this.context=context;
this.itemname=itemname;
this.imgid=imgid;
}
public View getView(int position,View view,ViewGroup parent) {
String[] description ={
"desc",
"desc",
"desc",
"desc",
"desc",
"desc",
"desc",
"desc"
};
LayoutInflater inflater=context.getLayoutInflater();
View rowView=inflater.inflate(R.layout.mylist, null, true);
TextView txtTitle = (TextView) rowView.findViewById(R.id.pers_name);
ImageView imageView = (ImageView) rowView.findViewById(R.id.pers_image);
TextView extratxt = (TextView) rowView.findViewById(R.id.pers_comment);
LinearLayout llrow = (LinearLayout) rowView.findViewById(R.id.row);
Toast.makeText(getContext(), selected_pers, Toast.LENGTH_SHORT).show();
if (getItem(position).toString()==selected_pers){
llrow.setBackgroundColor(Color.parseColor("#29A3CC"));
}
txtTitle.setText(itemname[position]);
imageView.setImageResource(imgid[position]);
extratxt.setText(description[position]);
return rowView;
};
}
而且在我的活动我的适配器设置为我的列表视图:
DrawerListView = (ListView) findViewById(R.id.drawerLW);
CustomListAdapter adapter = new CustomListAdapter(this, itemname, imgid);
DrawerListView.setAdapter(adapter);
但是当我运行在CustomListAdaper方法getView似乎不间断的重演应用和可变selected_pers似乎是空的。
哪条线路故障?像哪个selected_pers为null – Keith
getView将被多次调用。没关系。 http://stackoverflow.com/questions/11648995/view-is-getting-inflated-everytime-in-getview-findviewbyid-is-done-many-ti – Raghunandan
尝试像这样'itemname [position] .toString()== selected_pers' – pRaNaY