【发布时间】: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" />
我的问题是单击时未选择列表项...该行似乎是可单击的,单击时突出显示,但未出现复选标记。 我做错了什么?
编辑: 这段代码很好。问题出在其他地方。
【问题讨论】:
-
看theopentutorials.com/tutorials/android/listview/…教程。也许你应该试试 android.R.layout.simple_list_item_multiple_choice 布局。
-
感谢您的回答!这不是问题所在。实际上that layout 也由一个
CheckedTextView组成,具有不同的高度、文本大小和填充。
标签: android listview checkbox android-listview multiple-choice