gpt4 book ai didi

android - 如何禁用 Android 中特定 ListView 项目的上下文菜单

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:56:01 27 4
gpt4 key购买 nike

我知道之前有人问过这个问题,回答是覆盖 onPrepareContextMenu()/onCreateContextMenu()。但我不明白,也没有得到任何解决方案。请帮助我如何禁用特定 ListView 项目的上下文菜单。

最佳答案

打开上下文菜单取决于您的一些逻辑。例如,在 onItemClick 方法(在您的 listView 中)中,您应该检查项目的内容并显示或不显示上下文菜单。我不明白,为什么这对你来说是个问题?

更新

public class ExampleActivity extends ListActivity {

private ListView mListView;
private ArrayList<String> mList = new ArrayList<String>();
private ArrayAdapter<String> mArrayAdapter;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

mArrayAdapter = new ArrayAdapter<String>(this, android.R.id.list ,mList);
mListView = (ListView) findViewById(android.R.id.list);
setListAdapter(mArrayAdapter);
registerForContextMenu(mListView);

mListView.setOnItemLongClickListener(new OnItemLongClickListener() {

@Override
public boolean onItemLongClick(AdapterView<?> adapterView , View v,int position, long id) {
mListView.getItemAtPosition(position); //check current item with your logic and show or don't show contextMenu
// for example I will show
mListView.showContextMenu(); //to show
return true;
}
});
}

@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
// add contextmenu items
super.onCreateContextMenu(menu, v, menuInfo);
}

@Override
public boolean onContextItemSelected(MenuItem item) {
// todo some logic...
return super.onContextItemSelected(item);
}

也许它会对你有所帮助......祝你好运......

关于android - 如何禁用 Android 中特定 ListView 项目的上下文菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9759933/

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