ContextMenu操作功能表

來源:互聯網
上載者:User
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/layout"android:layout_width="fill_parent" android:layout_height="fill_parent"><ListView android:id="@+id/lv_list" android:layout_width="wrap_content"android:layout_height="fill_parent"></ListView></RelativeLayout><!--此布局檔案定義了listview,用來顯示一組列表,稍後操作功能表將被註冊到該listview,並且響應該listview。-->
/contextMenu/res/menu/menu.xml
<?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/android">    <item android:id="@+id/new_game" android:title="新遊戲" />    <item android:id="@+id/help" android:title="協助" />    <item android:id="@+id/addnew" android:title="添加新遊戲" />    <item android:id="@+id/delete" android:title="刪除遊戲" /></menu>

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:id="@+id/layout"    android:layout_width="fill_parent" android:layout_height="fill_parent">        <TextView android:id="@+id/tv" android:layout_width="wrap_content"            android:layout_height="fill_parent"            android:textSize="20dip"            >        </TextView></RelativeLayout>
package com.test.contextmenu;import java.util.ArrayList;import java.util.HashMap;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.AdapterView.AdapterContextMenuInfo;import android.widget.ListView;import android.widget.SimpleAdapter;import android.widget.Toast;public class DemoActivity extends Activity {    private ListView lv;    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);                ArrayList<HashMap<String, String>> list = new ArrayList<HashMap<String,String>>();        HashMap<String, String> map1 = new HashMap<String, String>();        map1.put("item", "第一個功能表項目");        HashMap<String, String> map2 = new HashMap<String, String>();        map2.put("item", "第二個功能表項目");        HashMap<String, String> map3 = new HashMap<String, String>();        map3.put("item", "第三個功能表項目");        HashMap<String, String> map4 = new HashMap<String, String>();        map4.put("item", "第四個功能表項目");        HashMap<String, String> map5 = new HashMap<String, String>();        map5.put("item", "第五個功能表項目");        list.add(map1);        list.add(map2);        list.add(map3);        list.add(map4);        list.add(map5);                //初始化該控制項        lv=(ListView)findViewById(R.id.lv_list);      //定義適配器 參數為該顯示資訊用的布局檔案 以及顯示資訊用的控制項,這裡是一個textview控制項        SimpleAdapter adapter=new SimpleAdapter(this, list, R.layout.item, new String[]{"item"}, new int[]{R.id.tv});                lv.setAdapter(adapter);                //註冊操作功能表顯示用的view        registerForContextMenu(this.lv);             }    //當菜單某個選項被點擊時調用該方法    @Override    public void onCreateContextMenu(ContextMenu menu, View v,    ContextMenuInfo menuInfo) {    MenuInflater inflater=getMenuInflater();    inflater.inflate(R.menu.menu, menu);    super.onCreateContextMenu(menu, v, menuInfo);    }            @Override    public boolean onContextItemSelected(MenuItem item) {    AdapterContextMenuInfo info= (AdapterContextMenuInfo) item.getMenuInfo();    System.out.println(info.position);    System.out.println(info.id);            switch(item.getItemId())        {        case R.id.help:            Toast.makeText(this, "請求協助", Toast.LENGTH_LONG).show();            return true;        case R.id.addnew:            Toast.makeText(this, "添加新的", Toast.LENGTH_LONG).show();            return true;        case R.id.delete:            Toast.makeText(this, "刪除資訊", Toast.LENGTH_LONG).show();            return true;        case R.id.new_game:            Toast.makeText(this, "新遊戲", Toast.LENGTH_LONG).show();            return true;            default:        }    return super.onContextItemSelected(item);    }        //當操作功能表關閉時調用的方法    @Override    public void onContextMenuClosed(Menu menu) {    System.out.println("close contextMenu");        super.onContextMenuClosed(menu);    }}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.