0

ListFragment内のメニュー項目にアクセスするinfo.positionと、NullPointerExが表示されます。誰かが理由を知っていますか?

        listView.setOnItemLongClickListener(new OnItemLongClickListener() {
            @Override
            public boolean onItemLongClick(AdapterView<?> parent, View view,
                  int position, long id) {
                if (mCurrentActionMode != null) {
                    return false;
                }

                mCurrentActionMode = getSherlockActivity().startActionMode(
                        mContentSelectionActionModeCallback);
                view.setSelected(true);
                return true;
            }
        });
    }


 private ActionMode.Callback mContentSelectionActionModeCallback = new ActionMode.Callback() {
            @Override
            public boolean onActionItemClicked(ActionMode actionMode, MenuItem item) {
                switch (item.getItemId()) {
                    case R.id.delete:
                        delete(item);
                        actionMode.finish();
                        return true;
                    }
                return false;
            }
}



        private void delete(MenuItem item) {
           AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
           Log.i("test", String.valueOf(info.position)); //NPE
        }
4

1 に答える 1

0

それはあなたがそれを使おうとしている範囲外のように私には見えます。

の位置を取得し、onItemLongClickそれを他のメソッドに渡して削除関数に渡す必要があります。

于 2012-06-03T15:12:29.067 に答える