码迷,mamicode.com
首页 > 其他好文 > 详细

Andorid——菜单:上下文菜单

时间:2015-09-29 23:40:56      阅读:425      评论:0      收藏:0      [点我收藏+]

标签:android   布局   


一,简介


      

Android系统中的ContextMenu(上下文菜单)类似于PC的右键弹出菜单,当一个视图注册了上下文菜单,长按该试图对象将出现一个提供相关功能的浮动菜单。

 

使用:

上下文菜单可以被注册到任何视图中,最常见的是ListView,但是上下文菜单不支持图标和快捷键。


二,调用需要的方法


                    1,onCreateContextMenu方法:当上下文菜单被创建时 回调该函数

             2,onContextItemSelected方法:当上下文菜单某项被选中时回调该函数

             3,registerForContextMenu方法:注册上下文菜单


三,代码实现


         1,添加XML布局文件:

                           

<?xml version="1.0" encoding="utf-8"?>

<TextView xmlns:android="http://schemas.android.com/apk/res/android"

    android:id="@+id/myTextView"

    android:textSize="20sp"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    android:text="长按。。。"

    />


          2,代码:

                                                 

public class MainActivity extends ListActivity /*注意这里继承的类*/{

    private static final int ITEM1 = Menu.FIRST;
    private static final int ITEM2 = Menu.FIRST+1;
    private static final int ITEM3 = Menu.FIRST+2;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //setContentView(R.layout.activity_main);
        showListView();
        registerForContextMenu(getListView());
    }
    
    private void showListView(){
        String[] mString = new String[]{

                "评论1:请叫我叶良辰!", 

                "评论2:只有我叶良辰才这么帅气逼人了!", 

                "评论3:良辰在此谢过了!",

                "评论4:哎呦,不错呦!", 

                "评论5:搜嘎!~~~~·", 

                "评论6:还记得大明湖畔的容嬷嬷么?", 

                "评论7:尔康,有人抢了你的风头!",
        };
        ArrayAdapter<String> mla = new ArrayAdapter<String>(MainActivity.this, 
                R.layout.main, mString);
        MainActivity.this.setListAdapter(mla);      
    }

	//当上下文菜单被创建时 回调该函数
    @Override
	public void onCreateContextMenu(ContextMenu menu, View v,
			ContextMenuInfo menuInfo) {
        menu.setHeaderTitle("删除评论!");

        //添加菜单项
        menu.add(0, ITEM1, 0, "删除");
        menu.add(0, ITEM2, 0, "取消");
		super.onCreateContextMenu(menu, v, menuInfo);
	}

    //当上下文菜单某项被选中时回调该函数
    @Override
	public boolean onContextItemSelected(MenuItem item) {
    	
        //获取当前被选择的菜单项的信息
        switch(item.getItemId()){
        case ITEM1:

            //在这里添加处理代码
            break;

        case ITEM2:

            //在这里添加处理代码
            break;    
        }
        return true;
	}

	
}


        注意继承的Activity基类,刚开始继承的类写错了,导致 无法找到getListView方法。



            技术分享




           


版权声明:本文为博主原创文章,未经博主允许不得转载。

Andorid——菜单:上下文菜单

标签:android   布局   

原文地址:http://blog.csdn.net/lhc1105/article/details/48804777

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!