您的位置:首页 > 移动开发 > Android开发

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);

}

}



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: