我在android中有一个自定义列表,这个列表有一个文本编辑器和每个元素的复选框,我想要一个方法来获取数据和每个元素的状态,并将它们保存在一个Movie对象数组中,电影是电影(字符串描述,布尔状态)
如何访问列表中每个元素的各个组件?
我的自定义ListAdapter是
public class CustomAdapter extends ArrayAdapter<String> {
private HashMap<Integer, Boolean> movieCollection =
new HashMap<Integer, Boolean>();
private String[] data;
public CustomAdapter(Context context) {
super(context, R.layout.movie_item, android.R.id.text1, context
.getResources().getStringArray(R.array.movies));
data =
context.getResources().getStringArray(R.array.movie_thumbs);
}
public void toggleMovie(int position) {
if (!isInCollection(position)) {
movieCollection.put(position, true);
} else {
movieCollection.put(position, false);
}
}
public boolean isInCollection(int position) {
return movieCollection.get(position) == Boolean.TRUE;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View listItem = super.getView(position, convertView, parent);
CheckBox checkMark =
(CheckBox) listItem.findViewById(android.R.id.check_movie);
checkMark.setChecked(isInCollection(position));
EditText editText = (EditText) listItem.findViewById(R.id.movie_description;
editText.setTag(position);
String textUrl = this.data[position];
new DownloadTask(position, editText).execute(editText);
return listItem;
}
}
如果有人不明白什么是麻烦: 我需要一种方法直接访问所描述列表项中的每个EditText和CheckBox。
答案 0 :(得分:0)
也许你可以在每次编辑后保存数据,在适配器中有一个电影列表(或类似的),并将监听器设置为编辑文本和复选框。