Android自定义列表视图复选框滚动
强调文本Hi everyone I work android自定义列表视图和复选框示例。但我做了这个例子。单击列表行,选中复选框。但是我的listview会从下到上滚动,选中的复选框会更改。请帮帮我。谢谢大家。我的代码Android自定义列表视图复选框滚动,android,checkbox,selected,Android,Checkbox,Selected,强调文本Hi everyone I work android自定义列表视图和复选框示例。但我做了这个例子。单击列表行,选中复选框。但是我的listview会从下到上滚动,选中的复选框会更改。请帮帮我。谢谢大家。我的代码 public class YoklamaListAdapter extends BaseAdapter { private Activity activity; private LayoutInflater inflater; public List<MovieYoklam
public class YoklamaListAdapter extends BaseAdapter {
private Activity activity;
private LayoutInflater inflater;
public List<MovieYoklama> yoklamaItems;
boolean selected = false;
private int selectedPosition = -1;
private int selectedStart = 0;
public YoklamaListAdapter(Activity activity, List<MovieYoklama> movieItems) {
this.activity = activity;
this.yoklamaItems = movieItems;
}
@Override
public int getCount() {
return yoklamaItems.size();
}
@Override
public Object getItem(int location) {
return yoklamaItems.get(location);
}
@Override
public long getItemId(int position) {
return position;
}
public boolean isSelected() {
return selected;
}
public void setSelected(boolean selected) {
this.selected = selected;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (inflater == null)
inflater = (LayoutInflater) activity
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
if (convertView == null)
convertView = inflater.inflate(R.layout.listturyoklama_row, null);
ImageView thumbNail = (ImageView) convertView
.findViewById(R.id.thumbnailYoklama);
TextView title = (TextView) convertView
.findViewById(R.id.txtYoklamaTitle);
TextView kisiID = (TextView) convertView
.findViewById(R.id.txtYoklamaKID);
TextView kisiTip = (TextView) convertView
.findViewById(R.id.txtYoklamaKTip);
CheckBox chk = (CheckBox) convertView.findViewById(R.id.chckYoklama);
MovieYoklama m = yoklamaItems.get(position);
if (selectedStart == 0) {
chk.setChecked(true);
m.setCheckbox(true);
} else {
if (position == selectedPosition) {
if (!m.isCheckbox()) {
chk.setChecked(true);
m.setCheckbox(true);
} else {
chk.setChecked(false);
m.setCheckbox(false);
}
}
}
thumbNail.setImageResource(m.getThumbnailUrl());
// title
title.setText(m.getTitle());
// ID
kisiID.setText(m.getID());
// Tip
kisiTip.setText(m.getTip());
return convertView;
}
public void setCheckBox(int position) {
selectedPosition = position;
selectedStart = 1;
notifyDataSetChanged();
}
然后按活动类别单击列表视图
private YoklamaListAdapter adapteryoklama;
----------
listViewYoklama.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
adapteryoklama.setCheckBox(position);
}
});
private YoklamaListAdapteryOklama;
----------
setOnItemClickListener(新的OnItemClickListener()){
@凌驾
public void onItemClick(AdapterView父级、视图、,
内部位置,长id){
adapteryoklama.setCheckBox(位置);
}
});
单击项目时,必须更新MovieYoklama对象
public void setCheckBox(int position) {
MovieYoklama m = yoklamaItems.get(position)
m.setCheckbox(true);
selectedStart = 1;
notifyItemChanged(position);
}
单击项目时,必须更新MovieYoklama对象
public void setCheckBox(int position) {
MovieYoklama m = yoklamaItems.get(position)
m.setCheckbox(true);
selectedStart = 1;
notifyItemChanged(position);
}
您可以阅读以下内容:您可以阅读以下内容: