开发者社区> cxycappuccino> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Activity的活动Menu和上下文Menu使用示例

简介: 步骤 1、重写Activity中的  public void onCreateContextMenu(ContextMenu menu, View v,   ContextMenu.ContextMenuInfo menuInfo){         super.
+关注继续查看

步骤

1、重写Activity中的 

public void onCreateContextMenu(ContextMenu menu, View v,
   ContextMenu.ContextMenuInfo menuInfo){

         super.onCreateContextMenu(menu, v, menuInfo);

}

 创建Activity下方的menu菜单

2、创建上下文的Menu

 (1)重写

private ListView myListView;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
myListView 
= (ListView) findViewById(R.id.myListView);
....
registerForContextMenu(myListView);
}

用registerForContextMenu注册,当常按ListView中的某一项时会弹出Menu

(2)重写

//创建上下文Menu
    @Override
    
public void onCreateContextMenu(ContextMenu menu, View v,
            ContextMenu.ContextMenuInfo menuInfo) {
        super.onCreateContextMenu(menu, v, menuInfo);
        menu.setHeaderTitle(
"Select to do item");
        menu.add(
0, REMOVE_TODO, Menu.NONE, R.string.remove);
    }

实现点击后弹出的Menu的内容

(3)重写onOptionsItemSelected(MenuItem item)实现活动菜单选中后的操作

 

//活动菜单选中后的操作
    @Override
    
public boolean onOptionsItemSelected(MenuItem item) {
        super.onOptionsItemSelected(item);
        
int index = myListView.getSelectedItemPosition();

        
switch (item.getItemId()) {
        
case (REMOVE_TODO):
            
if (addingNew) {
                cancelAdd();
            } 
else {
                removeItem(index);
            }
            
return true;
        
case (ADD_NEW_TODO):
            addNewItem();
            
return true;
        }
        
return false;
    }

 

(4)重写public boolean onContextItemSelected(MenuItem item)实现上下文菜单选中后的操作

 

//上下文菜单选中后的操作
    @Override
    
public boolean onContextItemSelected(MenuItem item) {
        super.onContextItemSelected(item);
        
switch (item.getItemId()) {
        
case REMOVE_TODO:
            AdapterView.AdapterContextMenuInfo menuInfo;
            menuInfo 
= (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
            
int index = menuInfo.position;
            removeItem(index);
            
return true;
        }
        
return false;
    }

 

代码:/Files/cappuccino/TodoList.rar

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
NavigationView中,动态增加item以及menu
NavigationView中,动态增加item以及menu
0 0
Android 深入了解 Window 、Activity、 View 三者关系(上)
Window、Activity、View都经常用到,但三者关系还是没有系统的理清,今天咱们就开始整理整理这三者的关系: Window:顶级窗口外观和行为策略的 抽象基类 。唯一实现是 PhoneWindow类。 Activity:四大组件之一,它提供一个界面让用户点击和各种滑动操作。 View:代表用户界面组件的基本构建块,UI 组件。
0 0
Android 深入了解 Window 、Activity、 View 三者关系(下)
addView 成功有一个标志就是能够接收触屏事件,通过对 setContentView 流程的分析,可以看出添加 View 的操作实质上是 PhoneWindow 在全盘操作,背后负责人是 WMS,反之 Activity 自始至终没什么参与感。但是我们也知道当触屏事件发生之后,Touch 事件首先是被传入到 Activity,然后才被下发到布局中的 ViewGroup 或者 View(Touch事件分发 了解一下)。那么 Touch 事件是如何传递到 Activity 上的呢?
0 0
Android--fragment与activity及两个fragment之间的跳转实现
在应用的交互中,我可能需要实现: 从当前的fragment跳转到另一个fragment 从当前的fragment跳转到一个activity中 从当前的activity跳转到一个fragment中 网上提供的思路较多,这里总结了一套自己的方法。
1115 0
Activity显示到Window的过程
写在前面的话 今天看到一个新闻,关于虾米音乐的程序员写的注释。 好像图都绿了,突然间想起在我曾经老大的影响下,我的Log输出已经变成了fxxk。
828 0
+关注
cxycappuccino
架构,编程语言相关技术专家
文章
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载