【发布时间】:2011-09-21 15:15:08
【问题描述】:
在我的应用程序中,我使用基本适配器在列表视图中显示大陆。我想在列表中显示 2 个文本视图和 1 个图像视图。图像视图在标志条件下显示。第一次显示所有内容正确。但是如果我滚动列表中的意外行为,我们在那里。图像视图显示在标志为假的行上。下面是我的代码... 请帮帮我!!!!
public class MyAdapter extends BaseAdapter
{
private Context context;
Views viewsList;
private ArrayList<Views> selectedItems = new ArrayList<Views>();
public MyAdapter(Context c, int textViewResourceId,
ArrayList<Views> list) {
super();
this.context=c;
this.selectedItems=list;
}
public int getCount() {
return selectedItems.size();
}
public Object getItem(int position) {
return selectedItems.get(position);
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
viewsList=selectedItems.get(position);
myAdapter.notifyDataSetChanged();
View v=convertView;
ImageView tipImageView;
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
TextView bTitle,textVies,likeView;
if (v == null) {
v = inflater.inflate(R.layout.tips_viwes_and_like_gui, null);
bTitle = (TextView) v.findViewById(R.id.textname);
bTitle.setText(viewsList.getName());
if(viewsList.getContaisImage().contains("1"))
{
tipImageView=(ImageView)v.findViewById(R.id.setImageId);
tipImageView.setImageResource(R.drawable.tip_image);
}
else if(viewsList.getContaisImage().contains("0"))
{
tipImageView=null;
}
textVies = (TextView) v.findViewById(R.id.textviews);
textVies.setText("Views :"+viewsList.getViewsId());
likeView=(TextView) v.findViewById(R.id.textLike);
likeView.setText("Like :"+viewsList.getLike());
}
return v;
}
}
【问题讨论】:
-
一切都在
if(v==null)。保留第一行v = inflater.inflate(R.layout.tips_viwes_and_like_gui, null);并删除所有内容,将其从 if 语句 中取出 -
@Sherif..感谢您的回复....但没有运气....
标签: android