我使用ListVew来显示几个项目。 我使用代码列出项目。
getListView().setEmptyView(findViewById(R.id.empty));
adapter = new MyAdapter(this, FileName, Check);
setListAdapter(MyAdapter);
点击项目时,我使用下面的代码进行刷新。
adapter = new MyAdapter(this, FileName, Check);
setListAdapter(MyAdapter);
FileName和Check是数组。 但是当我单击一个项目时,它会刷新并且光标返回顶部。 刷新后,我希望它专注于点击的一个。 怎么做?
MyAdapter:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewTag viewTag;
if(convertView == null) {
convertView = myInflater.inflate(R.layout.row_phone_video, null);
viewTag = new ViewTag(
(TextView)convertView.findViewById(R.id.phone_video_name),
(CheckBox)convertView.findViewById(R.id.phone_video_check)
);
convertView.setTag(viewTag);
}
else {
viewTag = (ViewTag) convertView.getTag();
}
viewTag.title.setText(FileName[position]);
viewTag.cbx.setVisibility(View.VISIBLE);
if(Check[position]) {
viewTag.cbx.setChecked(true);
}
else {
viewTag.cbx.setChecked(false);
}
}
return convertView;
}
class ViewTag {
TextView title;
CheckBox cbx;
public ViewTag(TextView tv, CheckBox cb) {
this.title = tv;
this.cbx = cb;
}
}