Android上下文菜单


package com.bawei.d4;

import java.util.ArrayList;
import java.util.List;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.ContextMenu;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ContextMenu.ContextMenuInfo;
import android.widget.Adapter;
import android.widget.AdapterView;
import android.widget.AdapterView.AdapterContextMenuInfo;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.ListView;

public class MainActivity extends Activity {
public static String[] name=new String[]{
"爱国者(aigo) MP5数码播放器U303 8GB 触摸屏幕MP3 白色",
"雪曼2014新款女包OL职业单肩包 女手提包斜挎包包8305 米白色",
"长袖连衣裙雪纺裙修身气质女欧美长款帝弗润驰森女拖地大牌仙长裙",
"韩国文具 可爱 创意 时尚 办公用品 大 多功能 收纳盒 笔筒包邮",
"ThinkPad E531 6885-D4C 赛扬双核 500G 联想 IBM商务 笔记本电脑",
"现货包邮顺丰 Nokia/诺基亚 107 双卡双待 老人备用手机 超长待机",
"3条装 北极绒吊带背心女打底 新款内搭黑色吊带 莫代尔蕾丝背心",
"[标配送8G卡]Sony/索尼 HDR-CX240E 数码摄像机/DV高清专业摄像机",
"天然白蓝绿玉髓水晶耳环男女925银耳钉黑玛瑙耳饰防过敏白银饰品",
"2014韩版欧根纱连衣裙新款夏女刺绣公主蓬蓬裙粉红色假两件套270",
"杭依阁2014夏装新款韩版修身淑女连衣裙女装蕾丝雪纺时尚连衣裙潮",
"HP/惠普 Envy 15 Envy 15-j105TX 四代i7高分屏8G内存/1T/4G独显",
"卡西欧CASIO时尚石英手表男士皮带手表MTP-1095Q-7B",
"正版hellokitty公仔KT毛绒玩具凯蒂猫布娃娃玩偶七夕生日礼物女生",
"正品卡通宝宝相框二连情侣挂式相架kt米奇维尼熊史努比儿童照片墙"

};

public static String[] price=new String[]{
"450", "1450", "150", "45",
"3999", "99", "129", "4999", "899", "270", "298", "6999", "1299",
"29", "19"
};
public static int[] image=new int[]{
R.drawable.mp4, R.drawable.bag,
R.drawable.bqz, R.drawable.bt, R.drawable.ibm,
R.drawable.nokia3310, R.drawable.dd, R.drawable.dv, R.drawable.eh,
R.drawable.hqz, R.drawable.hqz, R.drawable.hs, R.drawable.watch,
R.drawable.wj, R.drawable.xk
};

private int position;

private List<Goods> list;

private Goods g;

private BaseAdapter adapter;

private ListView listview;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listview = (ListView) findViewById(R.id.listview);
adapter = new Activitylist(MainActivity.this,getCon());
listview.setAdapter(adapter);

registerForContextMenu(listview);

}

@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
// TODO Auto-generated method stub
super.onCreateContextMenu(menu, v, menuInfo);
menu.add(0,1, Menu.NONE, "增加条目 ");
menu.add(0,2, Menu.NONE,"删除条目");
menu.add(0, 3,Menu.NONE, "修改条目");
menu.add(0, 4, Menu.NONE, "查询条目");
menu.setHeaderIcon(R.drawable.ic_launcher);
menu.setHeaderTitle("上下文菜单");
}
@Override
public boolean onContextItemSelected(MenuItem item) {
// TODO Auto-generated method stub

AdapterContextMenuInfo MenuInfo=(AdapterContextMenuInfo) item.getMenuInfo();
position = MenuInfo.position;
switch (item.getItemId()) {
case 1:
g.setImage(R.drawable.ic_launcher);
g.setName("安卓");
g.setPrice("200");
list.add(g);
adapter.notifyDataSetChanged();
break;
case 2:
list.remove(position);
adapter.notifyDataSetChanged();
break;
case 3:

break;
case 4:
listview.setOnItemClickListener(new OnItemClickListener() {

@Override
public void onItemClick(AdapterView<?> arg0, View view, int arg2,
long arg3) {
// TODO Auto-generated method stub
Intent intent = new Intent(MainActivity.this, ShowActivity.class);
intent.putExtra("image",image[arg2] );
intent.putExtra("name",name[arg2] );
intent.putExtra("price",price[arg2] );
startActivity(intent);
}
});

break;
}

return super.onContextItemSelected(item);

}

private List<Goods> getCon(){
list = new ArrayList<Goods>();
for (int i=0;i<image.length;i++) {
g = new Goods();
g.setImage(image[i]);
g.setName(name[i]);
g.setPrice(price[i]);
list.add(g);

}
return list;
}
}

 
   
时间: 2024-08-10 19:00:33

Android上下文菜单的相关文章

android 上下文菜单详解

本文使用xml来创建上下文菜单 <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/add" android:title="添加" android:orderInCategor

Android上下文菜单ContentView详解

ContentView介绍 上下文菜单继承了android.view.Menu,因此我们可以像操作Options Menu那样给上下文菜单增加菜单项.上下文菜单与Options Menu最大的不同在于,Options Menu的拥有者是Activity,而上下文菜单的拥有者是Activity中的View.每个Activity有且只有一个Options Menu,它为整个Activity服务.而一个Activity往往有多个View,并不是每个View都有上下文菜单,这就需要我们显示地通过 reg

Android 上下文菜单实现

1.覆盖Activity的onCreateContenxtMenu()方法,调用Menu的add方法添加菜单项(MenuItem). 2.覆盖Activity的onContextItemSelected()方法,响应上下文菜单菜单项的单击事件. 3.调用registerForContextMenu()方法,为视图注册上下文菜单. JAVA代码: packageEOE.local.contextMenu; importandroid.app.ListActivity; importandroid.

Android 上下文菜单(Context Menu)

一.概述 Android中,上下文菜单是通过onLongClick(...)事件访问的.在事件触发后显示菜单项. 在使用上下文菜单时,通常在onCreate(...)方法中,先行注册上下文菜单.在实现onCreateContextMenu(...)方法和onContextItemSelected(...)方法. 注册菜单方法:registerForContextMenu(...) 注销注册菜单方法:unregisterForContextMenu(...) 二.使用XML文件添加上下文菜单 te

Android 上下文菜单 悬浮式

可以在每个View控件上注册一个长按点击事件,触发弹出一个悬浮的菜单,也成为上下文菜单 菜单视图部分 xml <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto&q

Android:WebView中对图片注册上下文菜单

前言 今天一朋友问我一个问题,就是如何在WebView控件中的图片增加上下文菜单,以便增加保存图片等功能.今天就给他简单做了一个演示Demo,现写下来,给有相同问题的朋友提供些许思路吧. 概要实现 其实这个功能很简单,没有太复杂的东西,就是对WebView的控件的使用,一是给WebView注册了上下文菜单事件,二是在响应事件中去判断事件源的类型,如果是图片类型,则把url取出来 注册上下文菜单事件 这个就比较简单了通过下面的代码即可完成. WebView vw = (WebView) findV

上下文菜单和Contextual Action Mode(学习Android Programming The Big Nerd Ranch Guide)

在Android Programming The Big Nerd Ranch Guide书中,讲解上下文菜单的实现,添加一个删除菜单. 在Honeycomb发布前的设备里,上下文的action都是以悬浮的上下文菜单形式呈现.在之后的设备里,推荐用上下文的action bar的方式去呈现上下文的action.上下文的action bar展现在一个activity的顶部. 运行在Honeycomb之前版本的程序,有些也会出现上下文action bar.那是因为它使用了第三方库,这个库名字是Acti

Android进阶(二十八)上下文菜单ContextMenu使用案例

上下文菜单ContextMenu使用案例 前言 回顾之前的应用程序,发现之前创建的选项菜单无法显示了.按照正常逻辑来说,左图中在"商品信息"一栏中应该存在选项菜单,用户可进行分享等操作,但是现在此操作莫名其妙的消失了.写了个测试Demo,如中图所示,一切按照逻辑显示正常.怪就怪在项目中无法显示,起初设想是因为Android系统版本太高问题,但是在别的手机上测试之后发现问题依旧存在.难道是因为顶部Tab标题栏遮挡住了选项菜单的显示?继续测试,通过在别的没有Tab标题栏的页面测试选项菜单,

Android开发长按菜单上下文菜单

安卓开发中长按弹出菜单的创建方法: 1.首先给View注册上下文菜单registerForContextMenu(); 2.添加上下文菜单内容onCreateContextMenu(): ---可以通过代码动态添加: ---可以加载xml文件中的菜单项: 3.设置菜单点击后响应事件onContextItemSelected(); 运行效果图如下: activity_main.xml代码如下: <RelativeLayout android:layout_width="match_paren