因此,我想在我的应用程序中实现的功能之一是为首次使用的用户提供热门主题列表,并要求他们在第一次打开应用程序时订阅 5 个或更多主题,以使首次体验更好一些。
但是,当我开始四处寻找这样一个例子时,我感到震惊和惊讶的是,谷歌的天才们不仅没有实现一个简单的例子来实现这一点,而且显然他们让其他所有人都很难做到这一点。 (我假设这是基于我从搜索中收到的糟糕结果)
截至 2013 年,有没有办法以简单的方式做到这一点?我需要的只是一个选定列表项位置的数组,我可以从那里处理它。
因此,我想在我的应用程序中实现的功能之一是为首次使用的用户提供热门主题列表,并要求他们在第一次打开应用程序时订阅 5 个或更多主题,以使首次体验更好一些。
但是,当我开始四处寻找这样一个例子时,我感到震惊和惊讶的是,谷歌的天才们不仅没有实现一个简单的例子来实现这一点,而且显然他们让其他所有人都很难做到这一点。 (我假设这是基于我从搜索中收到的糟糕结果)
截至 2013 年,有没有办法以简单的方式做到这一点?我需要的只是一个选定列表项位置的数组,我可以从那里处理它。
这是我的实现!
adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_checked, list);
listView.setAdapter(adapter);
listView.setChoiceMode(AbsListView.CHOICE_MODE_MULTIPLE);
以及保存过程:
array = new SparseBooleanArray();
array = listView.getCheckedItemPositions();
if (array.size() == 0) {
AlertDialog.Builder adb = new AlertDialog.Builder(
ListViewCheckBoxed.this);
adb.setMessage(getString(R.string.lesson_selection))
.setCancelable(false)
.setPositiveButton("OK", new AlertDialog.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
}
});
adb.show();
} else {
departmentList = new ArrayList<String>();
for (int i = 0; i < array.size(); i++) {
if (array.valueAt(i)) {
departmentList.add(listView.getAdapter()
.getItem(array.keyAt(i)).toString());
}
}
}