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

相关文章
|
6月前
|
XML Java Android开发
Android RecyclerView用代码动态设置item的selector
Android RecyclerView用代码动态设置item的selector
48 0
|
iOS开发
iOS开发 - touchBegan事件判断点击的位置在View上还是在View的子View上
iOS开发 - touchBegan事件判断点击的位置在View上还是在View的子View上
281 0
iOS开发 - touchBegan事件判断点击的位置在View上还是在View的子View上
|
Android开发
NavigationView中,动态增加item以及menu
NavigationView中,动态增加item以及menu
366 0
|
Android开发 容器 开发工具
android--外部启动activity,自定义action,action常量大全
版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/chaoyu168/article/details/52955810 从任意app,启动另外一个app的activity: 1.
1203 0
|
Android开发
Android 初始化Menu item的值(ActionBar篇)
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.
842 0
(C#)ListView双击Item事件
ListView没有Item的双击事件,只能通过变通的方法得到,以下是我的变通方法        private void listView右侧_MouseDoubleClick( object sender , MouseEventArgs e )        {            ListViewHitTestInfo info = listView右侧.
1226 0