android的上下文菜单---context menu
16lz
2021-12-04
android的上下文菜单---context menu
- 博客分类:
- android
android的菜单有三种:
- <?xmlversion="1.0"encoding="utf-8"?>
- <RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+id/layout"
- android:layout_width="fill_parent"android:layout_height="fill_parent">
- <ListViewandroid:id="@+id/lv_list"android:layout_width="wrap_content"
- android:layout_height="fill_parent">
- </ListView>
- </RelativeLayout>
- <?xmlversion="1.0"encoding="utf-8"?>
- <RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+id/layout"
- android:layout_width="fill_parent"android:layout_height="fill_parent">
- <TextViewandroid:id="@+id/tv"android:layout_width="wrap_content"
- android:layout_height="fill_parent"
- android:textSize="20dip"
- >
- </TextView>
- </RelativeLayout>
- <?xmlversion="1.0"encoding="utf-8"?>
- <menuxmlns:android="http://schemas.android.com/apk/res/android">
- <itemandroid:id="@+id/new_game"android:title="新游戏"/>
- <itemandroid:id="@+id/help"android:title="寻求帮助"/>
- <itemandroid:id="@+id/addnew"android:title="添加新游戏"/>
- <itemandroid:id="@+id/delete"android:title="删除游戏"/>
- </menu>
- packageorg.ynu.android;
- importjava.util.ArrayList;
- importjava.util.HashMap;
- importandroid.app.Activity;
- importandroid.os.Bundle;
- importandroid.view.ContextMenu;
- importandroid.view.ContextMenu.ContextMenuInfo;
- importandroid.view.Menu;
- importandroid.view.MenuInflater;
- importandroid.view.MenuItem;
- importandroid.view.View;
- importandroid.view.View.OnClickListener;
- importandroid.widget.AdapterView.AdapterContextMenuInfo;
- importandroid.widget.Button;
- importandroid.widget.ListView;
- importandroid.widget.SimpleAdapter;
- importandroid.widget.TextView;
- importandroid.widget.Toast;
- publicclassMenuActivityextendsActivity{
- privateListViewlv;
- /**Calledwhentheactivityisfirstcreated.*/
- @Override
- publicvoidonCreate(BundlesavedInstanceState){
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- //如定义了一个listview控件
- ArrayList<HashMap<String,String>>list=newArrayList<HashMap<String,String>>();
- HashMap<String,String>map1=newHashMap<String,String>();
- map1.put("item","第一个菜单项");
- HashMap<String,String>map2=newHashMap<String,String>();
- map2.put("item","第二个菜单项");
- HashMap<String,String>map3=newHashMap<String,String>();
- map3.put("item","第三个菜单项");
- HashMap<String,String>map4=newHashMap<String,String>();
- map4.put("item","第四个菜单项");
- HashMap<String,String>map5=newHashMap<String,String>();
- map5.put("item","第五个菜单项");
- list.add(map1);
- list.add(map2);
- list.add(map3);
- list.add(map4);
- list.add(map5);
- //初始化该控件
- lv=(ListView)findViewById(R.id.lv_list);
- //定义适配器参数为该显示信息用的布局文件以及显示信息用的控件,这里是一个textview控件
- SimpleAdapteradapter=newSimpleAdapter(this,list,R.layout.item,newString[]{"item"},newint[]{R.id.tv});
- lv.setAdapter(adapter);
- //注册上下文菜单显示用的view
- registerForContextMenu(this.lv);
- }
- //该方法在注册的view被被长按时创建该view的上下文菜单
- @Override
- publicvoidonCreateContextMenu(ContextMenumenu,Viewv,
- ContextMenuInfomenuInfo){
- //TODOAuto-generatedmethodstub
- MenuInflaterinflater=getMenuInflater();
- inflater.inflate(R.menu.menu,menu);
- super.onCreateContextMenu(menu,v,menuInfo);
- }
- //当菜单某个选项被点击时调用该方法
- @Override
- publicbooleanonContextItemSelected(MenuItemitem){
- //TODOAuto-generatedmethodstub
- AdapterContextMenuInfoinfor=(AdapterContextMenuInfo)item.getMenuInfo();
- switch(item.getItemId())
- {
- caseR.id.help:
- Toast.makeText(this,"请求帮助",Toast.LENGTH_LONG).show();
- returntrue;
- caseR.id.addnew:
- Toast.makeText(this,"添加新的",Toast.LENGTH_LONG).show();
- returntrue;
- caseR.id.delete:
- Toast.makeText(this,"删除信息",Toast.LENGTH_LONG).show();
- returntrue;
- caseR.id.new_game:
- Toast.makeText(this,"新游戏",Toast.LENGTH_LONG).show();
- returntrue;
- default:
- returnsuper.onContextItemSelected(item);
- }
- }
- //当上下文菜单关闭时调用的方法
- @Override
- publicvoidonContextMenuClosed(Menumenu){
- //TODOAuto-generatedmethodstub
- super.onContextMenuClosed(menu);
- }
- }
更多相关文章
- Android(安卓)DatePickerDialog 只显示年月
- 详解android:scaleType属性
- android ---spannableStringBuilder
- Day1.5--Android简介之初识Activity
- Android开发学习笔记(十一)ListView/ActivityManager/ArrayAdapter
- Android之UI学习篇二:TextVeiw显示表情和跑马灯效果
- 5.4 Android(安卓)的上下文菜单: Context Menu,registerForConte
- Android(安卓)重点知识回顾
- Android菜单操作之创建并响应菜单