Android_Menu_contextMenu
xml文件:
- <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:paddingBottom="@dimen/activity_vertical_margin"
- android:paddingLeft="@dimen/activity_horizontal_margin"
- android:paddingRight="@dimen/activity_horizontal_margin"
- android:paddingTop="@dimen/activity_vertical_margin"
- tools:context="com.example.menudemo.ContextMenuDemo" >
- <ListView
- android:id="@+id/listView"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- ></ListView>
- </RelativeLayout>
源代码:
- package com.example.menudemo;
- import java.util.ArrayList;
- import java.util.List;
- import android.app.Activity;
- import android.os.Bundle;
- import android.view.ContextMenu;
- import android.view.Menu;
- import android.view.MenuItem;
- import android.view.View;
- import android.view.ContextMenu.ContextMenuInfo;
- import android.widget.ArrayAdapter;
- import android.widget.ListView;
- import android.widget.Toast;
- /**
- * ContextMenu的组成
- * 标题以及标题图标
- * 菜单内容
- * 菜单内容的点击响应事件
- *
- * ContextMenu与OptionMenu的区别:
- * OptionMenu对应的是activity,一个activity只能拥有一个选项菜单
- * ContextMenu对应的是View,每个View都可以设置上下文菜单
- * 一般情况下ContextMenu常用于ListView或者GridView
- * ContextMenu创建方法
- * 首先给View注册上下文菜单registerForContextMenu()
- * 添加上下文菜单内容onCreateContextMenu()
- * -通过代码动态添加
- * -加载xml文件中的菜单项
- * 设置菜单点击后响应事件onContextItemSelected()
- * @author Administrator
- *
- */
- public class ContextMenuDemo extends Activity {
- private ListView listview;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.context_menu);
- showListView();
- this.registerForContextMenu(listview);//给ListView注册上下文菜单
- }
- @Override
- public void onCreateContextMenu(ContextMenu menu, View v,
- ContextMenuInfo menuInfo) {
- // TODO Auto-generated method stub
- super.onCreateContextMenu(menu, v, menuInfo);
- //设置Menu显示的内容
- menu.setHeaderIcon(R.drawable.ic_launcher);
- menu.setHeaderTitle("file oprate");
- menu.add(1, 1, 1, "copy");
- menu.add(1, 2, 1, "cut");
- menu.add(1, 3, 1, "delete");
- menu.add(1, 4, 1, "rename");
- /**加载xml文件中的菜单项
- * getMenuInflater().inflate(R.menu.main,menu);
- */
- }
- @Override
- public boolean onContextItemSelected(MenuItem item) {
- // TODO Auto-generated method stub
- switch(item.getItemId()){
- case 1:
- Toast.makeText(this, "copy", Toast.LENGTH_SHORT).show();
- break;
- case 2:
- Toast.makeText(this, "cut", Toast.LENGTH_SHORT).show();
- break;
- case 3:
- Toast.makeText(this, "delete", Toast.LENGTH_SHORT).show();
- break;
- case 4:
- Toast.makeText(this, "rename", Toast.LENGTH_SHORT).show();
- break;
- }
- return super.onContextItemSelected(item);
- }
- /**
- * 设置ListView显示的内容
- */
- private void showListView(){
- listview = (ListView) findViewById(R.id.listView);
- ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,getData());
- listview.setAdapter(adapter);
- }
- /**
- * 构造ListView显示的数据
- * @return
- */
- private List<String> getData() {
- // TODO Auto-generated method stub
- List<String> list = new ArrayList<String>();
- for(int i = 0;i<5;i++){
- list.add("file"+(i+1));
- }
- return list;
- }
- }
Android_Menu_contextMenu的更多相关文章
随机推荐
- 使用selector修改TextView中字体的颜色
selector想必大家都用过了,但是在修改字体的颜色的时候还是要细心. 我们在TextView中设置字体颜色一般使用 android:textColor="@color/red" ...
- POJ 1947-Rebuilding Roads(树形背包)
题意: 一个树求得到一个节点数为p的子树,最小需要删除的边数. 分析:父节点到儿子这条边,删或不删,背包问题. #include <map> #include <set> #i ...
- HDU 5696 区间的价值 暴力
分析:枚举以该点为最小值,然后找到最大值,更新,相应数组,至此,把区间分割(因为包含这个最小值点已经枚举过) 然后理解理解,感觉好像挺对的...因为后面(即dfs区间变小时)如果再包含最小值节点,也不 ...
- QTP、LoadRunner、QC工具下载地址
QTP10.0工具下载地址:http://h30302.www3.hp.com/prdownloads/T6510-15063.zip?ordernumber=380454070&itemid ...
- json解析之jackson ObjectMapper
Json解析常用的有fastjson和jackson,性能上网上有不少的对比,说是fastjson比较好,今天先整理一下jackson的东西,后面再发一个fastjson的. jackson是spri ...
- mexopencv问题:Invalid MEX file GLIBCXX_3.4.15 error
参考:http://blog.sina.com.cn/s/blog_74112f030101cmxt.html root@debian-yuliyang:/opt/matlab/sys/os/glnx ...
- 多线程与网络之NSURLConnection发送请求
*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...
- python 网络编程(四)---UDP服务端客户端
1.服务器端 UDP服务器建立与TCP相类似,具体比较如下: 补充下,第四步:不必使用listen还有accept函数. 具体代码如下:(设置socket选项省略) import socket fro ...
- POJ3264 Balanced Lineup 线段树区间最大值 最小值
Q个数 问区间最大值-区间最小值 // #pragma comment(linker, "/STACK:1024000000,1024000000") #include <i ...
- HDU 1698 Just a Hook 区间更新 lazy标记
lazy标记 #include <iostream> #include <cstdio> #include <cstring> #include <sstre ...