Android 上下文菜單 ContextMenu

来源:https://www.cnblogs.com/zhangxuechao/archive/2019/11/04/11791719.html

public class MainActivity extends Activity { private ListView listView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(... ...


public class MainActivity extends Activity {

    private ListView listView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        listView = (ListView) this.findViewById(R.id.listView);
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1,
                getData());
        listView.setAdapter(adapter);

        // 給listView註冊上下文菜單
        registerForContextMenu(listView);
    }

    public List<String> getData() {
        List<String> list = new ArrayList<String>();
        for (int i = 0; i < 7; i++) {
            list.add("thomas " + i);
        }

        return list;
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    @Override
    public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
        // TODO Auto-generated method stub
        super.onCreateContextMenu(menu, v, menuInfo);

        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.main, menu);
    }

    // 上下文菜單被選擇
    @Override
    public boolean onContextItemSelected(MenuItem item) {
        // TODO Auto-generated method stub
        switch (item.getItemId()) {
        case R.id.action_add:
            Toast.makeText(this, "添加被點擊", 1).show();
            break;
        case R.id.action_delete:
            Toast.makeText(this, "刪除被點擊", 1).show();
            break;

        default:
            break;
        }

        return super.onContextItemSelected(item);
    }
}
<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:id="@+id/action_add"
        android:orderInCategory="100"
        android:showAsAction="never"
        android:title="添加">
    </item>
    <item
        android:id="@+id/action_delete"
        android:orderInCategory="100"
        android:showAsAction="never"
        android:title="刪除">
    </item>

</menu>

長按效果

image

選擇菜單

image


您的分享是我們最大的動力!

更多相關文章
  • 配合 "Activity 從啟動到佈局繪製的簡單分析" 閱讀 基本概念介紹 Activity:一個 Activity 是一個應用程式組件,提供一個屏幕,用戶可以用來交互。 View:所有視圖控制項的基類 ViewGroup:View 的子類,是容器類控制項,內部用於放置子View Window:概況了 ...
  • 看了下上一次寫博客已經是2年前了,很是慚愧,那麼這兩年我都幹了些什麼呢,由於18年的經濟不景氣,我們一家創業5年的公司解散,我也算是最後一批走的老員工吧,很是不捨得,畢竟,產品打磨了5年,最後還是輸給了資本(有空寫一下創業5年的見聞以及失敗原因)。 創業公司出來後,我加入了一下App出海的公司,主營 ...
  • 出現如下錯誤:DDMS files not found: xxx\hprof-conv.exeThe connection to adb is down, and a severe error has occuredPlease ensure that adb is correctly locate... ...
  • 一. Android系統版本及詳細信息 最新數據 https://developer.android.com/about/dashboards/ 二. Android項目初探 1. 使用android studio創建一個工程 Application Name:“My First App” Comp ...
  • private NotificationManager manager; private Notification.Builder builder; @Override protected void onCreate(Bundle savedInstanceState) { super.onCrea... ...
一周排行
x