zoukankan      html  css  js  c++  java
  • Android 上下文菜单 ContextMenu

    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

  • 相关阅读:
    C程序的存储空间布局
    获取系统数据文件信息
    基于UDP的一对回射客户/服务器程序
    一段经典的 Java 风格程序 ( 类,包 )
    Vue 脱坑记
    vue面试题总汇
    JavaScript调试技巧
    伪元素小技巧
    JavaScript 开发人员需要知道的简写技巧
    select2插件改造之设置自定义选项 源码
  • 原文地址:https://www.cnblogs.com/zhangxuechao/p/11791719.html
Copyright © 2011-2022 走看看