【问题标题】:ListView adapter using simple_list_item_multiple_choice, check boxes do not workListView 适配器使用 simple_list_item_multiple_choice,复选框不起作用
【发布时间】:2013-12-04 10:29:05
【问题描述】:

我正在处理扩展 ListActivity 的搜索活动。我按如下方式初始化我的适配器,

adapter = new ArrayAdapter<String>(SearchActivity.this, android.R.layout.simple_list_item_multiple_choice, testArrayList);
    l.setAdapter(adapter);

但是,我不确定如何使复选框起作用。我有一个 onListItemClick 方法,可以很好地单击实际的列表项。

    public void onListItemClick(ListView l, View v, int position, long id) {
    Log.d("Test", testArrayList.get(position));
    MainActivity test = new MainActivity();
    test.addToArray(testArrayList.get(position));
}

【问题讨论】:

  • 您需要创建自定义适配器来处理列表中复选框上的事件
  • 在适配器的 getView() 方法中将 OnCheckedChangeListener 添加到您的复选框。也不要忘记将 focusableInTocuhMode 设为 true。
  • MainActivity test = new MainActivity() 创建活动类的实例。错了。

标签: android listview


【解决方案1】:

您需要创建自定义适配器来处理列表中复选框上的事件

【讨论】:

    【解决方案2】:

    首先创建自定义适配器并在自定义适配器的 getView() 方法中使用以下代码:

        itemName = (TextView) convertView.findViewById(R.id.label);
        checkbox = (CheckBox) convertView.findViewById(R.id.check);
    
        ((CheckBox) (checkbox)).setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View view) {
                CheckBox c = (CheckBox) view;
                // your code
    
            }
        });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-28
      • 1970-01-01
      • 1970-01-01
      • 2014-05-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多