ListView和各種Adapter的使用

http://gundumw100.iteye.com/blog/875967

 

1,和最簡單的ArrayAdapter的使用: 

Java代碼
  1. package com.wt.app;
  2. import android.app.ListActivity;
  3. import android.os.Bundle;
  4. import android.widget.ArrayAdapter;
  5. import android.widget.ListAdapter;
  6. public class App extends ListActivity {
  7. String[] array={/*"aaa","bbb","ccc"*/};
  8. /** Called when the activity is first created. */
  9. @Override
  10. public void onCreate(Bundle savedInstanceState) {
  11. super.onCreate(savedInstanceState);
  12. setContentView(R.layout.main);
  13. //爲空時的顯示內容
  14. this.getListView().setEmptyView(findViewById(R.id.empty));
  15. ListAdapter adapter=new ArrayAdapter<String>(this,android.R.layout.simple_expandable_list_item_1,array);
  16. this.setListAdapter(adapter);
  17. }
  18. }
[java] view plaincopy在CODE上查看代碼片派生到我的代碼片
  1. package com.wt.app;  
  2.   
  3. import android.app.ListActivity;  
  4. import android.os.Bundle;  
  5. import android.widget.ArrayAdapter;  
  6. import android.widget.ListAdapter;  
  7.   
  8. public class App extends ListActivity {  
  9.     String[] array={/*"aaa","bbb","ccc"*/};  
  10.     /** Called when the activity is first created. */  
  11.     @Override  
  12.     public void onCreate(Bundle savedInstanceState) {  
  13.         super.onCreate(savedInstanceState);  
  14.         setContentView(R.layout.main);  
  15.         //爲空時的顯示內容  
  16.         this.getListView().setEmptyView(findViewById(R.id.empty));  
  17.           
  18.         ListAdapter adapter=new ArrayAdapter<String>(this,android.R.layout.simple_expandable_list_item_1,array);  
  19.         this.setListAdapter(adapter);  
  20.     }  
  21. }  


 

Xml代碼 複製代碼 收藏代碼
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:orientation="vertical"
  4. android:layout_width="fill_parent"
  5. android:layout_height="fill_parent"
  6. >
  7. <ListView
  8. android:id="@+id/android:list"
  9. android:layout_width="fill_parent"
  10. android:layout_height="wrap_content"
  11. />
  12. <TextView
  13. android:id="@+id/empty"
  14. android:layout_width="fill_parent"
  15. android:layout_height="wrap_content"
  16. android:gravity="center_vertical"
  17. android:text="Nothing"
  18. />
  19. </LinearLayout>
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:orientation="vertical"  
  4.     android:layout_width="fill_parent"  
  5.     android:layout_height="fill_parent"  
  6.     >  
  7. <ListView   
  8.     android:id="@+id/android:list"  
  9.     android:layout_width="fill_parent"  
  10.     android:layout_height="wrap_content"   
  11.     />  
  12.       
  13. <TextView   
  14.     android:id="@+id/empty"  
  15.     android:layout_width="fill_parent"   
  16.     android:layout_height="wrap_content"   
  17.     android:gravity="center_vertical"  
  18.     android:text="Nothing"  
  19.     />  
  20. </LinearLayout>  



2,和SimpleAdapter的使用: 

Java代碼 複製代碼 收藏代碼
  1. package com.wt.app;
  2. import java.util.ArrayList;
  3. import java.util.HashMap;
  4. import android.app.Activity;
  5. import android.os.Bundle;
  6. import android.view.ContextMenu;
  7. import android.view.MenuItem;
  8. import android.view.View;
  9. import android.view.ContextMenu.ContextMenuInfo;
  10. import android.view.View.OnCreateContextMenuListener;
  11. import android.widget.AdapterView;
  12. import android.widget.ListView;
  13. import android.widget.SimpleAdapter;
  14. import android.widget.AdapterView.OnItemClickListener;
  15. public class App extends Activity {
  16. @Override
  17. public void onCreate(Bundle savedInstanceState) {
  18. super.onCreate(savedInstanceState);
  19. setContentView(R.layout.main);
  20. //綁定Layout裏面的ListView
  21. ListView list = (ListView) findViewById(R.id.ListView01);
  22. //生成動態數組,加入數據
  23. ArrayList<HashMap<String, Object>> listItem = new ArrayList<HashMap<String, Object>>();
  24. int[] images=new int[]{android.R.drawable.ic_menu_add,android.R.drawable.ic_menu_delete,android.R.drawable.ic_menu_edit,android.R.drawable.ic_menu_view};
  25. for(int i=0;i<4;i++)
  26. {
  27. HashMap<String, Object> map = new HashMap<String, Object>();
  28. map.put("itemImage", images[i]);//圖像資源的ID
  29. map.put("itemTitle""Title "+i);
  30. map.put("itemText""this is Text "+i);
  31. listItem.add(map);
  32. }
  33. //生成適配器的Item和動態數組對應的元素
  34. SimpleAdapter listItemAdapter = new SimpleAdapter(this,listItem,//數據源
  35. R.layout.row,//ListItem的XML實現
  36. //動態數組與ImageItem對應的子項
  37. new String[] {"itemImage","itemTitle""itemText"},
  38. //ImageItem的XML文件裏面的一個ImageView,兩個TextView ID
  39. new int[] {R.id.itemImage,R.id.itemTitle,R.id.itemText}
  40. );
  41. //添加並且顯示
  42. list.setAdapter(listItemAdapter);
  43. //添加點擊
  44. list.setOnItemClickListener(new OnItemClickListener() {
  45. public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
  46. long arg3) {
  47. setTitle("點擊第"+arg2+"個項目");
  48. }
  49. });
  50. //添加長按點擊
  51. list.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {
  52. public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) {
  53. menu.setHeaderTitle("長按菜單-ContextMenu");
  54. menu.add(000"彈出長按菜單0");
  55. menu.add(010"彈出長按菜單1");
  56. }
  57. });
  58. }
  59. //長按菜單響應函數
  60. @Override
  61. public boolean onContextItemSelected(MenuItem item) {
  62. setTitle("點擊了長按菜單裏面的第"+item.getItemId()+"個項目");
  63. return super.onContextItemSelected(item);
  64. }
  65. }
[java] view plaincopy在CODE上查看代碼片派生到我的代碼片
  1. package com.wt.app;  
  2.   
  3. import java.util.ArrayList;  
  4. import java.util.HashMap;  
  5.   
  6. import android.app.Activity;  
  7. import android.os.Bundle;  
  8. import android.view.ContextMenu;  
  9. import android.view.MenuItem;  
  10. import android.view.View;  
  11. import android.view.ContextMenu.ContextMenuInfo;  
  12. import android.view.View.OnCreateContextMenuListener;  
  13. import android.widget.AdapterView;  
  14. import android.widget.ListView;  
  15. import android.widget.SimpleAdapter;  
  16. import android.widget.AdapterView.OnItemClickListener;  
  17.   
  18. public class App extends Activity {  
  19.     @Override  
  20.     public void onCreate(Bundle savedInstanceState) {  
  21.         super.onCreate(savedInstanceState);  
  22.         setContentView(R.layout.main);  
  23.         //綁定Layout裏面的ListView  
  24.         ListView list = (ListView) findViewById(R.id.ListView01);  
  25.           
  26.         //生成動態數組,加入數據  
  27.         ArrayList<HashMap<String, Object>> listItem = new ArrayList<HashMap<String, Object>>();  
  28.         int[] images=new int[]{android.R.drawable.ic_menu_add,android.R.drawable.ic_menu_delete,android.R.drawable.ic_menu_edit,android.R.drawable.ic_menu_view};  
  29.         for(int i=0;i<4;i++)  
  30.         {  
  31.             HashMap<String, Object> map = new HashMap<String, Object>();  
  32.             map.put("itemImage", images[i]);//圖像資源的ID  
  33.             map.put("itemTitle""Title "+i);  
  34.             map.put("itemText""this is Text "+i);  
  35.             listItem.add(map);  
  36.         }  
  37.         //生成適配器的Item和動態數組對應的元素  
  38.         SimpleAdapter listItemAdapter = new SimpleAdapter(this,listItem,//數據源   
  39.             R.layout.row,//ListItem的XML實現  
  40.             //動態數組與ImageItem對應的子項          
  41.             new String[] {"itemImage","itemTitle""itemText"},   
  42.             //ImageItem的XML文件裏面的一個ImageView,兩個TextView ID  
  43.             new int[] {R.id.itemImage,R.id.itemTitle,R.id.itemText}  
  44.         );  
  45.          
  46.         //添加並且顯示  
  47.         list.setAdapter(listItemAdapter);  
  48.         //添加點擊  
  49.         list.setOnItemClickListener(new OnItemClickListener() {  
  50.   
  51.             public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,  
  52.                     long arg3) {  
  53.                 setTitle("點擊第"+arg2+"個項目");  
  54.             }  
  55.         });  
  56.           
  57.       //添加長按點擊  
  58.         list.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {  
  59.               
  60.             public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) {  
  61.                 menu.setHeaderTitle("長按菜單-ContextMenu");     
  62.                 menu.add(000"彈出長按菜單0");  
  63.                 menu.add(010"彈出長按菜單1");     
  64.             }  
  65.         });   
  66.     }  
  67.       
  68.     //長按菜單響應函數  
  69.     @Override  
  70.     public boolean onContextItemSelected(MenuItem item) {  
  71.         setTitle("點擊了長按菜單裏面的第"+item.getItemId()+"個項目");   
  72.         return super.onContextItemSelected(item);  
  73.     }  
  74. }  


main.xml 

Xml代碼 複製代碼 收藏代碼
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:orientation="vertical"
  4. android:layout_width="fill_parent"
  5. android:layout_height="fill_parent"
  6. >
  7. <ListView android:layout_width="wrap_content"
  8. android:layout_height="wrap_content"
  9. android:id="@+id/ListView01"
  10. />
  11. </LinearLayout>\
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:orientation="vertical"  
  4.     android:layout_width="fill_parent"  
  5.     android:layout_height="fill_parent"  
  6.     >  
  7.     <ListView android:layout_width="wrap_content"     
  8.           android:layout_height="wrap_content"     
  9.           android:id="@+id/ListView01"    
  10.     />    
  11. </LinearLayout>\  


row.xml 

Xml代碼 複製代碼 收藏代碼
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <RelativeLayout
  3. android:id="@+id/RelativeLayout01"
  4. android:layout_width="fill_parent"
  5. xmlns:android="http://schemas.android.com/apk/res/android"
  6. android:layout_height="wrap_content"
  7. android:paddingTop="4dip"
  8. android:paddingBottom="4dip"
  9. android:paddingLeft="12dip"
  10. android:paddingRight="12dip">
  11. <ImageView
  12. android:paddingTop="12dip"
  13. android:layout_alignParentRight="true"
  14. android:layout_width="wrap_content"
  15. android:layout_height="wrap_content"
  16. android:id="@+id/itemImage"
  17. />
  18. <TextView
  19. android:layout_height="wrap_content"
  20. android:textSize="20dip"
  21. android:layout_width="fill_parent"
  22. android:id="@+id/itemTitle"
  23. />
  24. <TextView
  25. android:layout_height="wrap_content"
  26. android:layout_width="fill_parent"
  27. android:layout_below="@+id/itemTitle"
  28. android:id="@+id/itemText"
  29. />
  30. </RelativeLayout>
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <RelativeLayout   
  3.     android:id="@+id/RelativeLayout01"   
  4.     android:layout_width="fill_parent"   
  5.     xmlns:android="http://schemas.android.com/apk/res/android"   
  6.     android:layout_height="wrap_content"   
  7.     android:paddingTop="4dip"   
  8.     android:paddingBottom="4dip"   
  9.     android:paddingLeft="12dip"  
  10.     android:paddingRight="12dip">  
  11. <ImageView   
  12.     android:paddingTop="12dip"  
  13.     android:layout_alignParentRight="true"  
  14.     android:layout_width="wrap_content"   
  15.     android:layout_height="wrap_content"   
  16.     android:id="@+id/itemImage"  
  17.     />   
  18. <TextView   
  19.     android:layout_height="wrap_content"   
  20.     android:textSize="20dip"   
  21.     android:layout_width="fill_parent"   
  22.     android:id="@+id/itemTitle"  
  23.     />  
  24. <TextView   
  25.     android:layout_height="wrap_content"   
  26.     android:layout_width="fill_parent"   
  27.     android:layout_below="@+id/itemTitle"   
  28.     android:id="@+id/itemText"  
  29.     />  
  30. </RelativeLayout>  



3,和SimpleCursorAdapter的使用: 

Java代碼 複製代碼 收藏代碼
  1. package com.wt.app;
  2. import android.app.Activity;
  3. import android.app.PendingIntent;
  4. import android.content.ContentUris;
  5. import android.content.Intent;
  6. import android.database.Cursor;
  7. import android.database.CursorWrapper;
  8. import android.graphics.Color;
  9. import android.net.Uri;
  10. import android.os.Bundle;
  11. import android.provider.Contacts.People;
  12. import android.telephony.PhoneNumberUtils;
  13. import android.telephony.gsm.SmsManager;
  14. import android.util.Log;
  15. import android.view.ContextMenu;
  16. import android.view.MenuItem;
  17. import android.view.View;
  18. import android.view.ContextMenu.ContextMenuInfo;
  19. import android.view.View.OnCreateContextMenuListener;
  20. import android.widget.AdapterView;
  21. import android.widget.LinearLayout;
  22. import android.widget.ListAdapter;
  23. import android.widget.ListView;
  24. import android.widget.SimpleCursorAdapter;
  25. import android.widget.Toast;
  26. public class App extends Activity {
  27. private static final String TAG="App";
  28. ListView listView;
  29. ListAdapter adapter;
  30. /** Called when the activity is first created. */
  31. @Override
  32. public void onCreate(Bundle savedInstanceState) {
  33. super.onCreate(savedInstanceState);
  34. // setContentView(R.layout.main);
  35. LinearLayout linearLayout=new LinearLayout(this);
  36. linearLayout.setOrientation(LinearLayout.VERTICAL);
  37. linearLayout.setBackgroundColor(Color.BLACK);
  38. LinearLayout.LayoutParams param=newLinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT,LinearLayout.LayoutParams.WRAP_CONTENT);
  39. listView=new ListView(this);
  40. listView.setBackgroundColor(Color.BLACK);
  41. linearLayout.addView(listView,param);
  42. this.setContentView(linearLayout);
  43. //從數據庫獲取聯繫人姓名和電話號碼
  44. Cursor cur=this.getContentResolver().query(People.CONTENT_URI,nullnull,null,null);
  45. adapter=new SimpleCursorAdapter(this,android.R.layout.simple_list_item_2,cur,new String[]{People.NAME,People.NUMBER},newint[]{android.R.id.text1,android.R.id.text2});
  46. this.startManagingCursor(cur);
  47. listView.setAdapter(adapter);
  48. //listView.setEmptyView(findViewById(R.id.empty));
  49. listView.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener(){
  50. public void onItemSelected(AdapterView<?> arg0, View arg1,
  51. int arg2, long arg3) {
  52. // TODO Auto-generated method stub
  53. //openToast("滾動到:"+arg0.getSelectedItemId());
  54. //短信發送
  55. // PendingIntent pi = PendingIntent.getActivity(App.this,0,new Intent(App.this,App.class),0);
  56. // SmsManager sms = SmsManager.getDefault();
  57. // sms.sendTextMessage("5554", null, "message", pi, null);
  58. }
  59. public void onNothingSelected(AdapterView<?> arg0) {
  60. // TODO Auto-generated method stub
  61. }
  62. });
  63. listView.setOnItemClickListener(new AdapterView.OnItemClickListener(){
  64. public void onItemClick(AdapterView<?> arg0, View arg1, int position,
  65. long arg3) {
  66. // TODO Auto-generated method stub
  67. // String[] names=((CursorWrapper)listView.getItemAtPosition(position)).getColumnNames();
  68. //從指針的封裝類中獲得選中項的電話號碼並撥號
  69. CursorWrapper wrapper=(CursorWrapper)listView.getItemAtPosition(position);
  70. int columnIndex=wrapper.getColumnIndex(People.NUMBER);
  71. if(!wrapper.isNull(columnIndex)){
  72. String number=wrapper.getString(columnIndex);
  73. Log.d(TAG,"number="+number);
  74. // //判斷電話號碼的有效性
  75. if(PhoneNumberUtils.isGlobalPhoneNumber(number)){
  76. Intent intent = new Intent(Intent.ACTION_DIAL,Uri.parse("tel://"+ number));
  77. startActivity(intent);
  78. }
  79. }
  80. /*
  81. //直接撥號,需要CALL_PHONE權限
  82. Intent intent=new Intent(Intent.ACTION_CALL);
  83. Cursor c=(Cursor)adapter.getItem(position);
  84. long phoneID=c.getLong(c.getColumnIndex(People.PRIMARY_PHONE_ID));
  85. intent.setData(ContentUris.withAppendedId(android.provider.
  86. Contacts.Phones.CONTENT_URI, phoneID));
  87. startActivity(intent);
  88. */
  89. }
  90. });
  91. //添加長按點擊,彈出快顯菜單
  92. listView.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {
  93. public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) {
  94. menu.setHeaderTitle("你想要...?").setHeaderIcon(R.drawable.icon);
  95. menu.add(000"刪除").setIcon(R.drawable.icon);
  96. menu.add(010"修改").setIcon(R.drawable.icon);
  97. }
  98. });
  99. }
  100. //長按菜單響應函數
  101. @Override
  102. public boolean onContextItemSelected(MenuItem item) {
  103. //setTitle("點擊了長按菜單裏面的第"+item.getItemId()+"個項目");
  104. openToast("你點擊了"+item.getTitle());
  105. return super.onContextItemSelected(item);
  106. }
  107. private void openToast(String str){
  108. Toast.makeText(this,str,Toast.LENGTH_SHORT).show();
  109. }
  110. }
[java] view plaincopy在CODE上查看代碼片派生到我的代碼片
  1. package com.wt.app;  
  2.   
  3. import android.app.Activity;  
  4. import android.app.PendingIntent;  
  5. import android.content.ContentUris;  
  6. import android.content.Intent;  
  7. import android.database.Cursor;  
  8. import android.database.CursorWrapper;  
  9. import android.graphics.Color;  
  10. import android.net.Uri;  
  11. import android.os.Bundle;  
  12. import android.provider.Contacts.People;  
  13. import android.telephony.PhoneNumberUtils;  
  14. import android.telephony.gsm.SmsManager;  
  15. import android.util.Log;  
  16. import android.view.ContextMenu;  
  17. import android.view.MenuItem;  
  18. import android.view.View;  
  19. import android.view.ContextMenu.ContextMenuInfo;  
  20. import android.view.View.OnCreateContextMenuListener;  
  21. import android.widget.AdapterView;  
  22. import android.widget.LinearLayout;  
  23. import android.widget.ListAdapter;  
  24. import android.widget.ListView;  
  25. import android.widget.SimpleCursorAdapter;  
  26. import android.widget.Toast;  
  27.   
  28. public class App extends Activity {  
  29.     private static final String TAG="App";  
  30.     ListView listView;  
  31.     ListAdapter adapter;  
  32.     /** Called when the activity is first created. */  
  33.     @Override  
  34.     public void onCreate(Bundle savedInstanceState) {  
  35.         super.onCreate(savedInstanceState);  
  36.        // setContentView(R.layout.main);  
  37.         LinearLayout linearLayout=new LinearLayout(this);  
  38.         linearLayout.setOrientation(LinearLayout.VERTICAL);  
  39.         linearLayout.setBackgroundColor(Color.BLACK);  
  40.         LinearLayout.LayoutParams param=new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT,LinearLayout.LayoutParams.WRAP_CONTENT);  
  41.           
  42.         listView=new ListView(this);  
  43.         listView.setBackgroundColor(Color.BLACK);  
  44.           
  45.         linearLayout.addView(listView,param);  
  46.           
  47.         this.setContentView(linearLayout);  
  48.           
  49.         //從數據庫獲取聯繫人姓名和電話號碼  
  50.         Cursor cur=this.getContentResolver().query(People.CONTENT_URI,nullnull,null,null);  
  51.         adapter=new SimpleCursorAdapter(this,android.R.layout.simple_list_item_2,cur,new String[]{People.NAME,People.NUMBER},new int[]{android.R.id.text1,android.R.id.text2});  
  52.         this.startManagingCursor(cur);  
  53.         listView.setAdapter(adapter);  
  54.         //listView.setEmptyView(findViewById(R.id.empty));  
  55.           
  56.         listView.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener(){  
  57.   
  58.             public void onItemSelected(AdapterView<?> arg0, View arg1,  
  59.                     int arg2, long arg3) {  
  60.                 // TODO Auto-generated method stub  
  61.                 //openToast("滾動到:"+arg0.getSelectedItemId());  
  62.                 //短信發送  
  63. //              PendingIntent pi = PendingIntent.getActivity(App.this,0,new Intent(App.this,App.class),0);  
  64. //              SmsManager sms = SmsManager.getDefault();    
  65. //              sms.sendTextMessage("5554", null, "message", pi, null);   
  66.             }  
  67.   
  68.             public void onNothingSelected(AdapterView<?> arg0) {  
  69.                 // TODO Auto-generated method stub  
  70.                   
  71.             }  
  72.               
  73.         });  
  74.         listView.setOnItemClickListener(new AdapterView.OnItemClickListener(){  
  75.   
  76.             public void onItemClick(AdapterView<?> arg0, View arg1, int position,  
  77.                     long arg3) {  
  78.                 // TODO Auto-generated method stub  
  79. //              String[] names=((CursorWrapper)listView.getItemAtPosition(position)).getColumnNames();  
  80.                 //從指針的封裝類中獲得選中項的電話號碼並撥號  
  81.                 CursorWrapper wrapper=(CursorWrapper)listView.getItemAtPosition(position);  
  82.                 int columnIndex=wrapper.getColumnIndex(People.NUMBER);  
  83.                 if(!wrapper.isNull(columnIndex)){  
  84.                     String number=wrapper.getString(columnIndex);  
  85.                     Log.d(TAG,"number="+number);  
  86.     //              //判斷電話號碼的有效性  
  87.                     if(PhoneNumberUtils.isGlobalPhoneNumber(number)){  
  88.                         Intent intent = new Intent(Intent.ACTION_DIAL,Uri.parse("tel://"+ number));  
  89.                         startActivity(intent);  
  90.                     }  
  91.                 }  
  92. /* 
  93. //直接撥號,需要CALL_PHONE權限 
  94.                 Intent intent=new Intent(Intent.ACTION_CALL); 
  95.                 Cursor c=(Cursor)adapter.getItem(position); 
  96.                 long phoneID=c.getLong(c.getColumnIndex(People.PRIMARY_PHONE_ID)); 
  97.                 intent.setData(ContentUris.withAppendedId(android.provider. 
  98.                                              Contacts.Phones.CONTENT_URI, phoneID)); 
  99.                 startActivity(intent); 
  100.                 */  
  101.   
  102.             }  
  103.         });  
  104.       //添加長按點擊,彈出快顯菜單  
  105.         listView.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {  
  106.               
  107.             public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) {  
  108.                 menu.setHeaderTitle("你想要...?").setHeaderIcon(R.drawable.icon);   
  109.                 menu.add(000"刪除").setIcon(R.drawable.icon);  
  110.                 menu.add(010"修改").setIcon(R.drawable.icon);     
  111.             }  
  112.         });  
  113.     }  
  114.   //長按菜單響應函數  
  115.     @Override  
  116.     public boolean onContextItemSelected(MenuItem item) {  
  117.         //setTitle("點擊了長按菜單裏面的第"+item.getItemId()+"個項目");   
  118.         openToast("你點擊了"+item.getTitle());  
  119.         return super.onContextItemSelected(item);  
  120.     }  
  121.     private void openToast(String str){  
  122.         Toast.makeText(this,str,Toast.LENGTH_SHORT).show();  
  123.     }  
  124. }  


 

Xml代碼 複製代碼 收藏代碼
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  3. package="com.wt.app"
  4. android:versionCode="1"
  5. android:versionName="1.0">
  6. <application android:icon="@drawable/icon" android:label="@string/app_name">
  7. <activity android:name=".App"
  8. android:label="@string/app_name">
  9. <intent-filter>
  10. <action android:name="android.intent.action.MAIN" />
  11. <category android:name="android.intent.category.LAUNCHER" />
  12. </intent-filter>
  13. <!-- 點擊撥號時,詢問調用默認的程序還是調用本程序撥號 -->
  14. <intent-filter>
  15. <action android:name="android.Intent.Action.CALL_BUTTON" />
  16. <category android:name="android.Intent.Category.DEFAULT" />
  17. </intent-filter>
  18. </activity>
  19. </application>
  20. <uses-permission android:name="android.permission.READ_CONTACTS" />
  21. <uses-permission android:name="android.permission.CALL_PHONE"/>
  22. <uses-sdk android:minSdkVersion="3" />
  23. </manifest>

 

發佈了72 篇原創文章 · 獲贊 13 · 訪問量 17萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章