Android开发之创建ContextMenu上下文菜单
2015-08-03 20:40
656 查看
照旧,先上码。
//activity_main.xml
//MainActivity.java
运行效果截图:
//activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <ListView android:id="@+id/listView" android:layout_width="match_parent" android:layout_height="match_parent" > </ListView> </LinearLayout>
//MainActivity.java
package com.example.test_contextmenu; import java.util.ArrayList; import android.os.Bundle; import android.app.Activity; 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; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); showListView(); } public void showListView(){ //初始化控件 ListView listView = (ListView) findViewById(R.id.listView); //初始化适配器 ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, getData()); //为ListView配置适配器 listView.setAdapter(adapter); //注册上下文菜单 this.registerForContextMenu(listView); } /** * 构造listView显示的数据 */ private ArrayList<String> getData() { // TODO Auto-generated method stub ArrayList<String> list=new ArrayList<String>(); for(int i=0;i<5;i++){ list.add("文件"+(i+1)); } return list ; } /** * 设置上下文菜单 */ @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { // TODO Auto-generated method stub super.onCreateContextMenu(menu, v, menuInfo); //设置Menu显示内容 menu.setHeaderTitle("文件操作"); menu.setHeaderIcon(R.drawable.ic_launcher); //动态增加Menu菜单项 add(groupId,itemId,order,title)-->(分组id,菜单id,菜单项排序,菜单名) menu.add(1, 1, 1, "复制"); menu.add(1, 2, 1, "粘贴"); menu.add(1, 3, 1, "剪切"); menu.add(1, 4, 1, "重命名"); } /** *设置上下文菜单监听事件 */ @Override public boolean onContextItemSelected(MenuItem item) { // TODO Auto-generated method stub switch (item.getItemId()) { case 1: Toast.makeText(MainActivity.this,"你点击了复制",1000).show(); break; case 2: Toast.makeText(MainActivity.this,"你点击了粘贴",1000).show(); break; case 3: Toast.makeText(MainActivity.this,"你点击了剪切",1000).show(); break; case 4: Toast.makeText(MainActivity.this,"你点击了重命名",1000).show(); break; default: break; } return super.onContextItemSelected(item); } }
运行效果截图:
相关文章推荐
- Android中xml的序列化和解析
- Socket实现pc端与手机Android端图片传输
- android ListView开发问题及方法
- Android 文件操作
- Android OpenGL ES 2.0之混合与雾的学习
- Android的多项选择设计
- Android 跳转基础应用(联系人,日历)
- <转载>Android 工程报错解决 Unable to resolve target 'android-17'
- Android showmap
- Android Api Demos登顶之路(十七)Redirection
- android-support-v7包的添加
- javafx 运行在android上遇到的难题-完美解决
- Android ViewFlipper用法浅析
- Android视频播放之VideoView
- Android 毛玻璃效果
- Android环境搭建
- Android 旋转动画,停止和持续旋转
- MAC OS ANDROID环境搭建
- android中如何实现mvc,用MVC进行重构
- Android Handler消息处理顺序分析