Android 如何从Gridview中获取我选择的所有项目?
我使用的片段Android 如何从Gridview中获取我选择的所有项目?,android,gridview,android-adapter,Android,Gridview,Android Adapter,我使用的片段扩展了片段实现MultichoiceModelListener 而类扩展了BaseAdapter 当我从Gridview中选择项目时,我可以获得唯一的位置,如以下代码所示: public void onItemCheckedStateChanged(ActionMode mode, int position, long id, boolean checked) { // TODO Auto-generated method stub
扩展了片段实现MultichoiceModelListener
而类扩展了BaseAdapter
当我从Gridview中选择项目时,我可以获得唯一的位置,如以下代码所示:
public void onItemCheckedStateChanged(ActionMode mode, int position,
long id, boolean checked) {
// TODO Auto-generated method stub
mActionText.setText(formatString(fileListView.getCheckedItemCount()));
SparseBooleanArray checkedItems = fileListView.getCheckedItemPositions();
Log.i(TAG, "fileListView.getCheckedItemPositions(); = " + checkedItems);
if (checkedItems != null) {
for (int i=0; i<checkedItems.size(); i++) {
if (checkedItems.valueAt(i)) {
String item = fileListView.getAdapter().getItem(
checkedItems.keyAt(i)).toString();
Log.i(TAG,item + " was selected");
}
}
}
mode.invalidate();
}
项目的价值意味着什么
是否有其他方法可以获取我从Gridview中选择的所有项目
提前感谢。您的布尔数组具有所选项目的索引。但是,您正在尝试打印对象。你应该打印他们的索引。更改
Log.i(选择标签,项目+)代码>至Log.i(选择标记,i+)代码>你好,马丁
You can use the following code snippet :-
在view.setOnCheckedChangeListener中
if(isChecked){
extention = data[position];
}
其中数据是在gridview中显示的数组if项。所以…我无法通过Android API一次获得我选择的所有项?我必须使用循环来记住我自己选择的项目?你可以。请根据data.length()应用for循环并获取所有选定项。
if(isChecked){
extention = data[position];
}