java contextmenu_ContextMenu使用实例

package com.teleca;

import android.app.Activity;

import android.content.res.Resources;

import android.os.Bundle;

import android.util.Log;

import android.view.ContextMenu;

import android.view.Menu;

import android.view.MenuInflater;

import android.view.MenuItem;

import android.view.MotionEvent;

import android.view.SubMenu;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

public classContextMenuActivityextends Activity {

View myContextMenuView=null;

View myContextMenuView2=null;

View myContextMenuView3=null;

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

myContextMenuView=this.findViewById(R.id.TextView1);

myContextMenuView2=findViewById(R.id.TextView2);

myContextMenuView3=findViewById(R.id.view3);

}

public voidonResume()

{

super.onResume();

registerForContextMenu(myContextMenuView);

registerForContextMenu(myContextMenuView2);

registerForContextMenu(myContextMenuView3);

}

public voidonCreateContextMenu(ContextMenu

menu, View v, ContextMenu.ContextMenuInfo menuInfo)

{

super.onCreateContextMenu(menu, v, menuInfo);

System.out.println("onCreateContextMenu");

int groupId=0;

int order=Menu.NONE;

int itemId=0;

Resources res=getResources();

String title=null;

if(v.getId()==R.id.TextView1)

{

menu.add(groupId, R.id.menuItem1, order,R.string.menuItem1);

MenuInflater inflater = getMenuInflater();

inflater.inflate(R.menu.contextmenu, menu);

}

else if(v.getId()==R.id.TextView2)

{

MenuInflater inflater = getMenuInflater();

inflater.inflate(R.menu.contextmenub, menu);

}

else if(v.getId()==R.id.view3)

{

menu.add(groupId, R.id.menuItem1, order,R.string.menuItem1);

menu.add(groupId, R.id.menuItem2, order, R.string.menuItem2);

groupId++;

SubMenu subMenu=menu.addSubMenu(groupId, R.id.file, order, R.string.file);

subMenu.add(groupId, R.id.newFile, order, R.string.newFile);

subMenu.add(groupId, R.id.openFile, order, R.string.openFile);

groupId++;

menu.add(groupId, R.id.groupItem11, order, R.string.groupItem1);

menu.add(groupId, R.id.groupItem12, order, R.string.groupItem2);

menu.setGroupCheckable(groupId, false, false);

groupId++;

menu.add(groupId, R.id.groupItem21, order, R.string.groupItem1);

menu.add(groupId, R.id.groupItem22, order, R.string.groupItem2);

menu.setGroupCheckable(groupId, true, true);

groupId++;

menu.add(groupId, R.id.groupItem31, order, R.string.groupItem1);

menu.add(groupId, R.id.groupItem32, order, R.string.groupItem2);

menu.add(groupId, R.id.groupItem33, order, R.string.groupItem3);

menu.setGroupCheckable(groupId, true, false);

}

menu.setHeaderIcon(R.drawable.icon);

menu.setHeaderTitle("My Context Menu");

}

public booleanonContextItemSelected (MenuItem item)

{

int id=item.getItemId();

if(id==R.id.menuItem1||id==R.id.menuItem2

||id==R.id.file||id==R.id.newFile||id==R.id.openFile

||id==R.id.group1)

{

System.out.println("menu:"+item.getTitle()+"is slected");

return true;

}

else if(item.isCheckable())

{

if (item.isChecked())

item.setChecked(false);

else

item.setChecked(true);

System.out.println("menu:"+item.getTitle()+"is cheked and slected");

return true;

}

else if(id==R.id.groupItem11||id==R.id.groupItem12)

{

System.out.println("menu Group:"+item.getTitle()+"is slected");

return true;

}

else

return super.onContextItemSelected(item);

}

final staticString tag="robin";

public voidonContextMenuClosed (Menu menu)

{

System.out.println("menu:is closed");

}

}

菜单文件1

menu\contextmenu.xml

android:title="@string/menuItem2" />

android:title="@string/file" >

android:title="@string/newFile" />

android:title="@string/openFile" />

android:checkableBehavior="single">

android:title="@string/groupItem1" />

android:title="@string/groupItem2" />

菜单文件2

menu\contextmenub.xml

android:title="@string/menuItem1" />

android:title="@string/menuItem2" />

android:title="@string/file" >

android:title="@string/newFile" />

android:title="@string/openFile" />

android:checkableBehavior="none">

android:title="@string/groupItem1" />

android:title="@string/groupItem2" />

android:checkableBehavior="single">

android:title="@string/groupItem1" />

android:title="@string/groupItem2" />

android:checkableBehavior="all">

android:title="@string/groupItem1" />

android:title="@string/groupItem2" />

android:title="@string/groupItem3" />

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值