gpt4 book ai didi

android - 如何在上下文操作栏中检索 ListView 选定项

转载 作者:太空狗 更新时间:2023-10-29 15:46:35 29 4
gpt4 key购买 nike

我正在使用带有 ListView 的上下文操作栏(选择模式单一)。一切正常,但我不知道如何检索所选项目。

listViewData.setChoiceMode(ListView.CHOICE_MODE_SINGLE);

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

mActionMode = ((ActionBarActivity) getActivity()).startSupportActionMode(mActionModeCallback);
view.setSelected(true);
return true;
}
});

private ActionMode.Callback mActionModeCallback = new ActionMode.Callback() {
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
MenuInflater inflater = mode.getMenuInflater();
inflater.inflate(R.menu.context_menu, menu);
return true;
}

@Override
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
return false;
}

@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {

switch (item.getItemId()) {
case R.id.menu_edit:
mode.finish();
return true;
case R.id.menu_share:
mode.finish();
return true;
case R.id.menu_delete:
mode.finish();
return true;
default:
return false;
}
}

@Override
public void onDestroyActionMode(ActionMode mode) {
mActionMode = null;
}
};

最佳答案

how to retrieve the selected item

您可以在 onItemLongClick 中使用 ActionMode.setTag() 将选定的项目位置传递给 onActionItemClicked 使用 ActionMode.getTag() 如下:

mActionMode = ....;
mActionMode.setTag(position); //<<< set selected row position
view.setSelected(true);

并在 onActionItemClicked 中设置选中的项目:

@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
int item_postion=Integer.parseInt(mode.getTag().toString());
String str_item=listViewData.getAdapter().getItem(item_postion);
....
}

关于android - 如何在上下文操作栏中检索 ListView 选定项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20365052/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com