我有一個對每個短信點擊我要顯示自定義的上下文菜單項列表。我到處都找過了一個例子,嘗試了很多東西,但我能來最接近的是要有一個長期的點擊菜單showup(和菜單是不是每個項目不同)。這是代碼,任何幫助都會很棒。請注意,在閱讀了一大堆教程之後,我從Activity中分類了這些教程。Android的ListView的單次點擊右鍵菜單
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;
}
}
你有如何做到這一點一些樣品或網站,我可以查出來嗎? – PJC 2012-01-18 16:02:02
讓我提出一兩件事,我希望你知道如何顯示一個列表視圖包含許多行, 1)創建活動,本次活動展示行動的清單, 2)當你想顯示的項目點擊右鍵菜單。打開這個活動。 3)在清單文件的活動聲明中添加主題:對話框,所以新的活動看起來像一個彈出式對話框。並採取行動,並完成這項活動.. – AAnkit 2012-01-18 17:28:52