ContextMenu上下文菜单

长按显示操作


一、动态添加上下文菜单项

// 创建文件数据
	private ArrayList<String> getData() {
		ArrayList<String> list = new ArrayList<String>();
		for (int i = 0; i < 5; i++) {
			list.add("文件" + (i + 1));
		}
		return list;
	}

	// 设置ListView的显示内容
	public void showListView() {
		ListView listview = (ListView) findViewById(R.id.listview);
		// android.R.layout.simple_list_item_1使用系统默认的布局
		ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
				android.R.layout.simple_list_item_1, getData());
		// 为listview设置ArrayAdapter
		listview.setAdapter(adapter);
		// 为listview创建上下文菜单
		this.registerForContextMenu(listview);
	}

	// 重写 创建上下文菜单
	@Override
	public void onCreateContextMenu(ContextMenu menu, View v,
			ContextMenuInfo menuInfo) {
		// 设置标题
		menu.setHeaderTitle("文件操作");
		// 设置图标
		menu.setHeaderIcon(R.drawable.ic_launcher);
		// 分组id、项id、排序、内容
		menu.add(1, 1, 1, "粘贴");
		menu.add(1, 2, 1, "复制");
		menu.add(1, 3, 1, "删除");
		super.onCreateContextMenu(menu, v, menuInfo);
	}

	// 设置菜单项的点击事件
	@Override
	public boolean onContextItemSelected(MenuItem item) {
		switch (item.getItemId()) {
		case 1:
			Toast.makeText(this, "粘贴", Toast.LENGTH_LONG).show();
			break;
		case 2:
			Toast.makeText(this, "复制", Toast.LENGTH_LONG).show();
			break;
		case 3:
			Toast.makeText(this, "删除", Toast.LENGTH_LONG).show();
			break;
		}
		return super.onContextItemSelected(item);
	}
二、xml文件添加

<pre name="code" class="java"><menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:id="@+id/action_settings"
        android:orderInCategory="100"
        android:showAsAction="never"
        android:title="复制"/>
    <item
        android:id="@+id/action_add"
        android:orderInCategory="101"
        android:showAsAction="never"
        android:title="粘贴"/>
    <item
        android:id="@+id/action_del"
        android:orderInCategory="102"
        android:showAsAction="never"
        android:title="删除"/>

</menu>
public void onCreateContextMenu(ContextMenu menu, View v,
			ContextMenuInfo menuInfo) {
		// 设置标题
		menu.setHeaderTitle("文件操作");
		// 设置图标
		menu.setHeaderIcon(R.drawable.ic_launcher);
		// 分组id、项id、排序、内容
		// menu.add(1, 1, 1, "粘贴");
		// menu.add(1, 2, 1, "复制");
		// menu.add(1, 3, 1, "删除");

		MenuInflater inflate = getMenuInflater();
		// 将其设置在menu 上
		inflate.inflate(R.menu.main, menu);
		super.onCreateContextMenu(menu, v, menuInfo);
	}
	
MenuInflater inflate = getMenuInflater();
// 将其设置在menu 上
inflate.inflate(R.menu.main, menu);


 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值