zoukankan      html  css  js  c++  java
  • Android之Context Memu

    Menu 之 Context Menu
    类似于PC机上的“右键”选项菜单,而在Android 中则在用户”长按“时显示,它可以在所有示图里出现,只是比较常见于“ListView"。
    与options menu 类似,应用它也是三步走:
    一、将Activity 改成 ListActivity,这里采用对列表示图进行学习,创建 Context Menu
     重写方法:onCreateContextMenu
    例:
            @Override 

    public void onCreateContextMenu(ContextMenu menu,View v,ContextMenuInfo menuInfo)
            {
            //这里可以采用扩展Layout文件来添加菜单项
            menu.add("First");
            menu.add("Second");
            super.onCreateContextMenu(menu, v, menuInfo);
            }

     
    二、与用户的交互,重写方法:onContextItemSelected
      @Override

            publicboolean  onContextItemSelected(MenuItem item)
            {
            String itemTitle="Your select context menu item is: "+(String)item.getTitle();
            Toast.makeText(getApplicationContext(), itemTitle,Toast.LENGTH_LONG)
                .show();
            
            return super.onContextItemSelected(item);
            }

    三、将context menu 注册到View:
    在onCreate方法里:registerForContextMenu(getListView());
    我这里是给ListView添加的context menu;
    当然还有给列表示图提供内容的方法:
           private void ShowListView()

     {

            
            String [] citys=new String[]{
                    "BeiJing","ShangHai","GuangZhou","ShengZhen"
            };
            
            ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,R.layout.menu_items,citys);
            
            setListAdapter(adapter);
            
            }

    这样,我们的onCreate方法变成了:
       
    @Override 

            publicvoid onCreate(Bundle savedInstanceState) 
            {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            
            ShowListView();
            
               registerForContextMenu(getListView());
              }

    四、资源布局文件夹:
    main.xml:
       <?xml version="1.0" encoding="utf-8"?>

       <ListView xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@android:id/list" 
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            
    >    
        </ListView>

    menu_items.xml
        <?xml version="1.0" encoding="utf-8"?>
        <TextView xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width
    ="match_parent"
            android:layout_height
    ="match_parent"
            android:id
    ="@+id/tv">
        </TextView>
  • 相关阅读:
    linux中bin和sbin目录的主要区别
    C# 值类型 引用类型 作为参数传递区别
    绿色免安装电视直播软件viviplayer
    [转]中科大校长建议停止以行政主导的高校评估
    MDS 7.0 使用中的问题 2(数据交换中图元的丢失)
    怪异的慢递公司一统快递
    [转]全国最好的医院列表
    多普达D600 问题集锦
    推荐PDG阅读器UnicornViewer
    [转]《乒乓世界》封面故事:中国男乒直板三人行
  • 原文地址:https://www.cnblogs.com/runner/p/2275185.html
Copyright © 2011-2022 走看看