我的列表视图包含200多个项目。在列表视图的每一行中,都有一个Button。我想根据位置更改按钮背景。我也可以更改它,但问题是在滚动listview后,图像被分配给其他按钮。如果我正在更改按钮文本,一切都很好,但是如果改变按钮背景,这个奇怪的问题来了。如何根据位置更改Listview按钮的背景图像?
下面是我到目前为止已经试过,
public class MyAdapter extends BaseAdapter {
private Activity activity;
private String[] data;
private static LayoutInflater inflater=null;
public ImageLoader imageLoader;
public MyAdapter(Activity a, String[] d) {
activity = a;
data=d;
inflater = (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
imageLoader=new ImageLoader(activity.getApplicationContext());
}
public int getCount() {
return data.length;
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
View vi=convertView;
if(convertView==null)
vi = inflater.inflate(R.layout.item, null);
Button button=(Button)vi.findViewById(R.id.text);;
if (position==2 || position==3) {
button.setText("Invited");
}
else if (position==5 || position==8) {
button.setBackgroundResource(R.drawable.graph);
}
else {
text.setText("Invite");
}
return vi;
}
}
任何帮助将不胜感激。
每个答案看起来是正确的,所以也许你可以标记一个所接受?这是一个常见问题,但很容易失败。 – ninehundredt