我有listview
20 件物品。在列表视图的每一行中,都有一个Button
. 我想根据位置更改按钮文本。
- 如果位置是 2 & 3,按钮文本将是“邀请”。
- 如果位置是 5 和 8,按钮文本将为“已发送”。
- 对于所有其他职位,按钮文本应为“邀请”。
奇怪的问题是当我滚动时,文本被交换了。
按照我到目前为止的尝试,
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 text=(Button)vi.findViewById(R.id.text);;
ImageView image=(ImageView)vi.findViewById(R.id.image);
Log.i("POSITION:", ""+position);
if(position==2 || position==3)
text.setText("Invited");
if(position==5 || position==8)
{
text.setText("Sent");
}
imageLoader.DisplayImage(data[position], image);
return vi;
}
}