Package com. example. l0909_4_listview_all; import java. util. arrayList; import java. util. hashMap; import java. util. list; import java. util. map; import android. app. activity; import android. app. alertDialog; import android. content. dialogInterface; import android. OS. bundle; import android. view. contextMenu; import android. view. contextMenu. contextMenuInfo; import android. view. menuItem; import android. view. view; import Ndroid. view. view. onCreateContextMenuListener; import android. widget. adapterView; import android. widget. adapterView. adapterContextMenuInfo; import android. widget. adapterView. onItemClickListener; import android. widget. adapterView. onItemLongClickListener; import android. widget. listView; import android. widget. simpleAdapter; import android. widget. toast; public class MainActivity extends Activity {private List View lv; private SimpleAdapter adapter; @ Override protected void onCreate (Bundle savedInstanceState) {super. onCreate (savedInstanceState); setContentView (R. layout. activity_main); lv = (ListView) findViewById (R. id. lv); // use the adapter to configure the data to the control. adapter = new SimpleAdapter (MainActivity. this, getData (), R. layout. cell, new String [] {"Title", "Message"}, new int [] {R. id. TV _title, R. id. TV _mess}); lv. setAdap Ter (adapter); // Click Event lv. setOnItemClickListener (new OnItemClickListener () {@ Override public void onItemClick (AdapterView <?> Arg0, View arg1, int arg2, long arg3) {setTitle ("click" + (arg2 + 1) + "items"); Toast. makeText (MainActivity. this, "click" + (arg2 + 1) + "project", Toast. LENGTH_LONG ). show () ;}}); // The long-Click Event of AdapterView. We comment out the event because it has a higher priority than the long-click event with a sub-menu. Lv. setOnItemLongClickListener (new OnItemLongClickListener () {@ Override public boolean onItemLongClick (AdapterView <?> Arg0, View arg1, int arg2, long arg3) {setTitle ("click" + arg2 + "project"); Toast. makeText (MainActivity. this, "Long-click" + arg2 + "project", Toast. LENGTH_LONG ). show (); return true ;}}); // The long-Click Event lv with sub-menu options in AdapterView. setOnCreateContextMenuListener (new OnCreateContextMenuListener () {@ Override public void onCreateContextMenu (ContextMenu menu, View v, ContextMenuInfo menuInfo) {menu. setHeaderIcon (R. drawabl E. p5); // The image style menu. setHeaderTitle ("Long-pressed menu options:"); menu. add (0, 1, 0, "delete"); menu. add (0, 2, 0, "View ");}});} /*** method automatically called when the Context Menu Sub-option is selected */@ Override public boolean onContextItemSelected (MenuItem item) {// obtain the position int selectedPosition = (AdapterContextMenuInfo) item of the ListView corresponding to the menu item that appears. getMenuInfo ()). position; // obtain the final Map <String, String> map = (HashMap) lv of the position in the ListView. getItemAtPosi Tion (selectedPosition); switch (item. getItemId () {case 1: new AlertDialog. builder (this ). setTitle (map. get ("Title ")). setMessage (map. get ("are you sure you want to delete the option? ")). SetPositiveButton ("OK", new DialogInterface. onClickListener () {@ Override public void onClick (DialogInterface dialog, int which) {map. remove ("Title"); map. remove ("Message"); // after deletion, refresh the data source to readapt to the data adapter. notifyDataSetChanged ();}}). setNegativeButton ("cancel", new DialogInterface. onClickListener () {@ Override public void onClick (DialogInterface dialog, int which ){}}). show (); break; case 2: new AlertDialog. builder (this ). setTitle (map. get ("Title ")). setMessage (map. get ("Message ")). setPositiveButton ("OK", new DialogInterface. onClickListener () {@ Override public void onClick (DialogInterface dialog, int which ){}}). show (); break;} return super. onContextItemSelected (item);}/*** Add a data source ** @ return */private List <Map <String, String> getData () {List <Map <String, string> list = new ArrayList <Map <String, String> (); Map <String, String> map1 = new HashMap <String, String> (); Map <String, string> map2 = new HashMap <String, String> (); Map <String, String> map3 = new HashMap <String, String> (); Map <String, string> map4 = new HashMap <String, String> (); Map <String, String> map5 = new HashMap <String, String> (); Map <String, string> map6 = new HashMap <String, String> (); map1.put ("Title", ""); map1.put ("Message", "18823450968 "); map2.put ("Title", "Zhang Fei"); map2.put ("Message", "13278904678"); map3.put ("Title", "Lee"); map3.put ("Message ", "15123458905"); map4.put ("Title", "Tana"); map4.put ("Message", "13789463869"); map5.put ("Title", "dog "); map5.put ("Message", "18747389046"); map6.put ("Title", ""); map6.put ("Message", "18009382758"); list. add (map1); list. add (map2); list. add (map3); list. add (map4); list. add (map5); list. add (map6); return list ;}}
1) Click the first item:
650) this. width = 650; "src =" http://www.bkjia.com/uploads/allimg/131228/100J94609-0.jpg "style =" float: none; "title =" Capture. JPG "/>
2) Long press list options:
650) this. width = 650; "src =" http://www.bkjia.com/uploads/allimg/131228/100J92154-1.jpg "style =" float: none; "title =" Capture 1.JPG"/>
3) Click "View" in the menu to display the dialog box:
650) this. width = 650; "src =" http://www.bkjia.com/uploads/allimg/131228/100J92129-2.jpg "style =" float: none; "title =" Capture 2.JPG"/>
4) Click "delete" in the menu to display the dialog box:
650) this. width = 650; "src =" http://www.bkjia.com/uploads/allimg/131228/100J932V-3.jpg "style =" float: none; "title =" Capture 4.JPG"/>
5) Click the delete OK button to update the ListView list:
650) this. width = 650; "src =" http://www.bkjia.com/uploads/allimg/131228/100Ja1J-4.jpg "style =" float: none; "title =" Capture 5.JPG"/>
This article is from the MySpace blog, please be sure to keep this source http://wangzhaoli.blog.51cto.com/7607113/1293420