gpt4 book ai didi

Android ListView 单击上下文菜单

转载 作者:行者123 更新时间:2023-11-29 22:14:04 25 4
gpt4 key购买 nike

我有一个项目列表,每次单击我都想显示一个自定义上下文菜单。我已经遍地查看了一个示例并尝试了很多东西,但我能想到的最接近的方法是长按菜单显示(并且每个项目的菜单都不明显)。这是代码,任何帮助都会很棒。请注意,在阅读了一堆教程后,我已经从 Activity 继承了子类。

public class EventListActivity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
Log.i("ME", "Event List Activity Into On Create ");
super.onCreate(savedInstanceState);
setContentView(R.layout.event_list);
Log.i("ME", "Event List Activity Into On Create 1 ");
String[] values = new String[] {"Emerald Greens","Dahlgtreen","Edinborough","Pebble Creek","Gross"};
Log.i("ME", "Event List Activity Into On Create 2");

ListView listView = (ListView)findViewById(R.id.list);

Log.i("ME", "Event List Activity Into On Create 2a");


//ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.event_list,R.id.label,values);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.event_list_item,values);

Log.i("ME", "Event List Activity Into On Create 3");
//setListAdapter(adapter);
listView.setAdapter(adapter);
Log.i("ME", "Event List Activity Into On Create 4");

registerForContextMenu(listView);
Log.i("ME", "Event List Activity Into On Create 6");

}




protected void onListItemClick(ListView listView, View v, int pos, long id) {
String item = (String)listView.getAdapter().getItem(pos);
Toast.makeText(this, item+" Selected pos:"+pos+": id:"+id+":", Toast.LENGTH_LONG).show();


}


@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
Log.i("ME", "OnCreateContextMenu ");
if (v.getId()==R.id.list) {
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo)menuInfo;
//menu.setHeaderTitle(Countries[info.position]);
menu.setHeaderTitle("Blippo");
//String[] menuItems = getResources().getStringArray(R.array.menu);
String[] menuItems = new String[] {"Menu a","Menub"};
for (int i = 0; i<menuItems.length; i++) {
menu.add(Menu.NONE, i, i, menuItems[i]);
}
}
}

@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo)item.getMenuInfo();
int menuItemIndex = item.getItemId();
//String[] menuItems = getResources().getStringArray(R.array.menu);
String[] menuItems = new String[] {"Menu a","Menub"};
String menuItemName = menuItems[menuItemIndex];

//String listItemName = Countries[info.position];
String listItemName = "hardcoded";

Toast.makeText(this, item+" Selected Submenu", Toast.LENGTH_LONG).show();

return true;
}

}

最佳答案

您可以为此使用滑动抽屉,点击每个项目即可打开滑动抽屉并显示您的项目

关于Android ListView 单击上下文菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8905436/

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