Android 操作功能表實現

來源:互聯網
上載者:User

標籤:android   http   io   os   java   ar   for   檔案   sp   

1.覆蓋Activity的onCreateContenxtMenu()方法,調用Menu的add方法添加功能表項目(MenuItem)。
  2.覆蓋Activity的onContextItemSelected()方法,響應操作功能表功能表項目的單擊事件。
  3.調用registerForContextMenu()方法,為視圖註冊操作功能表。
  
  JAVA代碼:

  packageEOE.local.contextMenu;
  
  importandroid.app.ListActivity;
  importandroid.os.Bundle;
  importandroid.view.ContextMenu;
  importandroid.view.Menu;
  importandroid.view.MenuItem;
  importandroid.view.ContextMenu.ContextMenuInfo;
  importandroid.view.View;
  importandroid.widget.AdapterView.AdapterContextMenuInfo;
  importandroid.widget.ArrayAdapter;
  importandroid.util.Log;
  
  publicclassMainActivityextendsListActivity{
  
  privatestaticfinalintITEM1=Menu.FIRST;
  
  privatestaticfinalintITEM2=Menu.FIRST+1;
  
  privatestaticfinalintITEM3=Menu.FIRST+2;
  
  
  
  /**Calledwhentheactivityisfirstcreated.*/
  
  @Override
  public void onCreate(BundlesavedInstanceState){
  
  super.onCreate(savedInstanceState);
  
  showListView();
  
  
  //為ListView的所有item註冊ContextMenu
  
  registerForContextMenu(getListView());
  
  //這裡的registerForContextMenu()也可以用下面的語句替代
  
  //getListView().setOnCreateContextMenuListener(this);
  
  }
  
  
  
  privatevoidshowListView(){
  
  String[]mString=newString[]{
  
  "路飛-MonkeyDLuffy",
  "奈美-Nami",
  "卓洛-Zoro",
  "山治-Sanji",
  "尼可·羅賓-Ms.AllSunday",
  "烏索普-usoppu",
  "托尼托尼·喬巴-TonyTonyChopper",
  
  };
  
  ArrayAdapter<String>mla=newArrayAdapter<String>(MainActivity.this,
  
  R.layout.main,mString);
  
  MainActivity.this.setListAdapter(mla);
  
  }
  
  
  //操作功能表,本例會通過長按條目啟用操作功能表
  @Override
  publicvoidonCreateContextMenu(ContextMenumenu,Viewview,
  
  ContextMenuInfomenuInfo){
  
  menu.setHeaderTitle("人物簡介");
  
  //添加功能表項目
  menu.add(0,ITEM1,0,"特長");
  
  menu.add(0,ITEM2,0,"戰鬥力");
  
  menu.add(0,ITEM3,0,"經典語錄");
  
  }
  
  
  
  //菜單單擊響應
  @Override
  publicbooleanonContextItemSelected(MenuItem item){
  
  //擷取當前被選擇的功能表項目的資訊
  
  //AdapterContextMenuInfo info=(AdapterContextMenuInfo)item.getMenuInfo();
  
  //Log.i("braincol",String.valueOf(info.id));
  
  switch(item.getItemId()){
  
  caseITEM1:
  
  //在這裡添加處理代碼
  
  break;
  
  
  
  caseITEM2:
  
  //在這裡添加處理代碼
  break;
  
  
  
  caseITEM3:
  
  //在這裡添加處理代碼
  break;
  
  }
  
  returntrue;
  
  }
  
  
  }

  main.xml布局檔案:
  
    <?xmlversion="1.0"encoding="utf-8"?>
  
  <TextViewxmlns:android="http://schemas.android.com/apk/res/android"
  
  android:id="@+id/myTextView"
  android:textSize="20sp"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:text="@string/hello"
  
  />

 

Android 操作功能表實現

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.