如果用户短按微调器的项目,我不会显示上下文菜单:
uSpinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id)
{
Toast.makeText(getBaseContext(), "Position = " + position, Toast.LENGTH_SHORT).show();
pos = position;
registerForContextMenu(view);
openContextMenu(view);
unregisterForContextMenu(view);
}
});
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo info)
{
if(pos != -1)
{
menu.setHeaderTitle("Admin menu");
menu.add("Kick");
}
}
@Override
public boolean onContextItemSelected(MenuItem item)
{
if(item.getTitle()=="Kick")
{
Toast.makeText(getBaseContext(), "Kick: " + usrStack.get(pos), Toast.LENGTH_SHORT).show();
}
return super.onContextItemSelected(item);
}
一切都很好,但是如果我的应用程序启动,我会看到第一个元素的上下文菜单。(您可能还记得,亲切的匿名,第一个元素显示在微调器上。所以我认为它选择了第一个元素并调用我的上下文菜单)如何仅在 onlick 上显示它?