如何从Gridview获得我检查的所有位置?

时间:2014-01-03 12:51:41

标签: android gridview position

我使用片段extends Fragment implements MultiChoiceModeListener

class extends 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();

    }

该值类似于以下日志:

EG Player(21867): fileListView.getCheckedItemPositions(); = android.util.SparseBooleanArray@43625dc0
I/MJPEG Player(21867): tw.com.a_i_t.IPCamViewer.FileBrowser.Model.FileNode@43c4b7e8 was selected

项目的价值是什么意思?

是否有其他方法可以获取我从Gridview中选择的所有项目?

提前致谢。

1 个答案:

答案 0 :(得分:2)

GridView元素允许您根据需要获取已检查的视图:

gridView.getCheckedItemIds();
gridView.getCheckedItemPositions();