【问题标题】:List items are not checked in multiple choice ListView列表项未在多项选择 ListView 中选中
【发布时间】:2014-03-22 22:33:34
【问题描述】:

我有以下设置:

Activity:

public class UploadActivity extends AbstractListActivity {

    protected PackageAdapter mAdapter = new PackageAdapter();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_list);
        getListView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
        setListAdapter(mAdapter);
    }
}

Adapter:

public class PackageAdapter extends ArrayAdapter<PointPackage> {

    ...

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {

        TextView view;
        if (convertView == null) {
            view = (TextView) mInflater.inflate(R.layout.list_item_package, parent, false);
        } else {
            view = (TextView) convertView;
        }

        bind(getItem(position), view);

        return view;
    }

    private void bind(PointPackage item, TextView view) {
        view.setText(item.getName());
    }
}

activity_list.xml:

<?xml version="1.0" encoding="utf-8"?>
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/list"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

list_item_package.xml:

<?xml version="1.0" encoding="utf-8"?>
<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="?android:attr/listPreferredItemHeight"
    android:checkMark="?android:attr/listChoiceIndicatorMultiple"
    android:drawableLeft="@drawable/collection"
    android:drawablePadding="@dimen/compactPadding"
    android:gravity="center_vertical"
    android:textAppearance="?android:attr/textAppearanceListItem" />

我的问题是单击时未选择列表项...该行似乎是可单击的,单击时突出显示,但未出现复选标记。 我做错了什么?

编辑: 这段代码很好。问题出在其他地方。

【问题讨论】:

标签: android listview checkbox android-listview multiple-choice


【解决方案1】:

您需要实现 onItemClick 侦听器,在那里您可以获得被点击的视图/项目。从该视图中获取 CheckedTextView 并将其标记为已选中。

【讨论】:

  • AFAIK CHOICE_MODE_MULTIPLE 应该处理这个问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多