Android ListView长按创建上下文菜单
2013-04-12 16:10
731 查看
ContextMenu上下文菜单,和电脑上单击鼠标右键出现的快捷菜单等同,即安卓中长按某项(2秒左右)出现的快捷菜单,
ContextMenu上下文菜单创建方法:
1.重写Activity的onCreateContextMenu()方法,调用Menu的add方法添加菜单项
2.重写onContextItemSelected()方法,响应菜单单击事件
3.调用registerForContexMenu()注册上下文菜单
[java] public class TestActivity extends Activity {
ListView listView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
listView=(ListView)findViewById(R.id.listView);
//为listView注册上下文菜单ContextMenu
//方法1
this.registerForContextMenu(listView);
//方法2
//listView.setOnCreateContextMenuListener(this);
String [] s={"特凡·萨尔瓦托 Stefan Salvatore",
"艾琳娜·吉尔伯特 Elena Gilbert",
"达蒙·萨尔瓦托 Damon Salvatore",
"杰里米·吉尔伯特 Jeremy Gilbert",
"卡罗琳·福布斯 Caroline Forbes"};
ArrayAdapter aa=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,s);
listView.setAdapter(aa);
}
//创建上下文菜单
@Override
public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo mi) {
menu.setHeaderTitle("你猜啊~ 0,0");
//配置上下文菜单选项
menu.add(0, Menu.FIRST +1, 1, "海贼王");
menu.add(0, Menu.FIRST +2, 2, "暮光之城");
menu.add(0, Menu.FIRST +3, 3, "吸血鬼日记");
menu.add(0, Menu.FIRST +4, 4, "齐天大圣");
//super.onCreateContextMenu(menu, v, mi);
}
//响应上下文菜单的点击事件
@Override
public boolean onContextItemSelected(MenuItem item) {
if(item.getItemId()==Menu.FIRST + 3){
Toast.makeText(this, "ORZ,你聪明屎啦!", Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(this, "这有个毛联系!", Toast.LENGTH_SHORT).show();
}
return super.onContextItemSelected(item);
}
}
ContextMenu上下文菜单创建方法:
1.重写Activity的onCreateContextMenu()方法,调用Menu的add方法添加菜单项
2.重写onContextItemSelected()方法,响应菜单单击事件
3.调用registerForContexMenu()注册上下文菜单
[java] public class TestActivity extends Activity {
ListView listView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
listView=(ListView)findViewById(R.id.listView);
//为listView注册上下文菜单ContextMenu
//方法1
this.registerForContextMenu(listView);
//方法2
//listView.setOnCreateContextMenuListener(this);
String [] s={"特凡·萨尔瓦托 Stefan Salvatore",
"艾琳娜·吉尔伯特 Elena Gilbert",
"达蒙·萨尔瓦托 Damon Salvatore",
"杰里米·吉尔伯特 Jeremy Gilbert",
"卡罗琳·福布斯 Caroline Forbes"};
ArrayAdapter aa=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,s);
listView.setAdapter(aa);
}
//创建上下文菜单
@Override
public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo mi) {
menu.setHeaderTitle("你猜啊~ 0,0");
//配置上下文菜单选项
menu.add(0, Menu.FIRST +1, 1, "海贼王");
menu.add(0, Menu.FIRST +2, 2, "暮光之城");
menu.add(0, Menu.FIRST +3, 3, "吸血鬼日记");
menu.add(0, Menu.FIRST +4, 4, "齐天大圣");
//super.onCreateContextMenu(menu, v, mi);
}
//响应上下文菜单的点击事件
@Override
public boolean onContextItemSelected(MenuItem item) {
if(item.getItemId()==Menu.FIRST + 3){
Toast.makeText(this, "ORZ,你聪明屎啦!", Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(this, "这有个毛联系!", Toast.LENGTH_SHORT).show();
}
return super.onContextItemSelected(item);
}
}
相关文章推荐
- Android编程实现为ListView创建上下文菜单(ContextMenu)的方法
- 【黑马Android】(04)数据库的创建和sql语句增删改查/LinearLayout展示列表数据/ListView的使用和BaseAdater/内容提供者创建
- Android 的上下文菜单: Context Menu,registerForContextMenu(getListView())
- Android 的上下文菜单: Context Menu,registerForContextMenu(getListView())
- android-上下文菜单的创建 - 随心
- android-上下文菜单的创建 - 随心
- ListView上下文菜单创建
- Android开发10.1:UI组件适配器AdapterView(创建ListView,Adapter接口)
- Android ListView 可拖拽Item 1 - 创建浮动Item
- android listview的创建及行删除操作
- Android中创建一个使用ListView以及用BaseAdapter进行数据适配的程序
- Android开发10.1:UI组件适配器AdapterView(创建ListView,Adapter接口)
- Android -- listview的使用, Inflater打气筒创建View对象,三种数据Adapter
- android-上下文菜单的创建 - 随心
- 【Android】利用ArrayAdapter/SimpleAdapter创建ListView
- Android开发动态创建ListView对象1…
- Android学习_使用Adapter创建ListView
- Android -- listview的使用, Inflater打气筒创建View对象,三种数据Adapter
- Android — 长按ListView 利用上下文菜单(ActionMode) 进行批量事件处理
- 5.4 Android 的上下文菜单: Context Menu,registerForContextMenu(getListView())