0

我在android中有一个自定义列表,这个列表有一个文本编辑器和每个元素的复选框,我想要一个方法来获取每个元素的数据和状态,并将它们保存在一个电影对象数组中,其中电影是电影(字符串描述,布尔状态)

如何访问列表中每个元素的各个组件?

我的自定义 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 。

4

1 回答 1

0

也许您可以在每次编辑后保存数据,在适配器中有一个电影列表(或类似的)并将侦听器设置为编辑文本和复选框。

于 2012-05-30T03:43:59.037 回答