Menu (4) add context menu to the item of ListView, listviewitem
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.contextmenu.MainActivity" > <ListView android:id="@+id/listView1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" > </ListView></RelativeLayout>
Package com. example. contextmenu; import java. util. arrayList; import java. util. list; import android. app. activity; import android. OS. bundle; import android. view. contextMenu; import android. view. menu; import android. view. menuInflater; import android. view. menuItem; import android. view. view; import android. view. contextMenu. contextMenuInfo; import android. widget. arrayAdapter; import android. widget. listView; import android. widget. toast; public class MainActivity extends Activity {private ListView listView; @ Overrideprotected void onCreate (Bundle savedInstanceState) {super. onCreate (savedInstanceState); setContentView (R. layout. activity_main); listView = (ListView) findViewById (R. id. listView1); ArrayAdapter <String> arrayAdapter = new ArrayAdapter <String> (MainActivity. this, android. r. layout. simple_list_item_1, getData (); listView. setAdapter (arrayAdapter); registerForContextMenu (listView); // register context menu for listview} public List <String> getData () {List <String> list = new ArrayList <String> (); for (int I = 1; I <10; I ++) {list. add ("list" + I);} return list;} @ Overridepublic void onCreateContextMenu (ContextMenu menu, View v, ContextMenuInfo menuInfo) {// load the context menu super in xml. onCreateContextMenu (menu, v, menuInfo); MenuInflater menuInflater = getMenuInflater (); menuInflater. inflate (R. menu. main, menu) ;}@ Overridepublic boolean onContextItemSelected (MenuItem item) {switch (item. getItemId () {case R. id. edit: Toast. makeText (MainActivity. this, "edit operation", Toast. LENGTH_SHORT ). show (); break; case R. id. share: Toast. makeText (MainActivity. this, "share operation", Toast. LENGTH_SHORT ). show (); break; case R. id. delete: Toast. makeText (MainActivity. this, "delete operation", Toast. LENGTH_SHORT ). show (); break; default: break;} return super. onContextItemSelected (item );}}
Res/menu/main. xml
<Menu xmlns: android = "http://schemas.android.com/apk/res/android" xmlns: tools = "http://schemas.android.com/tools" tools: context = "com. example. contextmenu. mainActivity "> <item android: id =" @ + id/edit "android: orderInCategory =" 100 "android: showAsAction =" never "android: title = "edit"/> <item android: id = "@ + id/share" android: orderInCategory = "100" android: showAsAction = "never" android: title = "share"/> <item android: id = "@ + id/delete" android: orderInCategory = "100" android: showAsAction = "never" android: title = "delete"/> </menu>