在我的自定义列表视图中,项目是重复的。项目的位置对于所有项目都是相同的。代码如下
ListAdapter.java-
public class ListAdapter extends BaseAdapter{
private List<String> mName;
private List<Drawable> mIcon;
private Context mContext;
public ListAdapter(Context mContext, List<String> Name, List<Drawable> Icon) {
this.mContext=mContext;
this.mName=Name;
this.mIcon=Icon;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return mName.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public View getView(final int position, View v, ViewGroup parent) {
View mLayout;
TextView mText;
ImageView mImage;
CheckBox mCheckBox;
if(v==null){
LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
mLayout=new View(mContext);
mLayout=(LinearLayout) inflater.inflate(R.layout.list_menu, null);
mText=(TextView) mLayout.findViewById(R.id.Name);
mImage=(ImageView) mLayout.findViewById(R.id.Icon);
mCheckBox=(CheckBox) mLayout.findViewById(R.id.mCheckbox);
mText.setText(mName.get(position));
mImage.setImageDrawable(mIcon.get(position));
mCheckBox.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton check, boolean isChecked) {
if(check.isChecked()){
Toast.makeText(mContext, "..."+mName.get(position)+"..."+position, Toast.LENGTH_SHORT).show();
}
}
});
}
else{
mLayout=(View)v;
}
return mLayout;
}
}