学习日记--ContextMenu的简单测试
来源:互联网 发布:linux系统可以做什么 编辑:程序博客网 时间:2024/04/30 23:31
在当前的微信版本中,如果长按微信消息或对方发过来的照片,会弹出相应菜单进行选择(选择置顶或删除),这时用到的就是ContextMenu。
测试效果如下:
java代码如下:
package com.hxzy.menu;import java.util.ArrayList;import android.app.AlertDialog;import android.app.ListActivity;import android.content.DialogInterface;import android.os.Bundle;import android.view.ContextMenu;import android.view.MenuItem;import android.view.View;import android.view.ContextMenu.ContextMenuInfo;import android.widget.AdapterView.AdapterContextMenuInfo;import android.widget.ArrayAdapter;import android.widget.ListView;import android.widget.Switch;import android.widget.Toast;public class MainActivity extends ListActivity {private ArrayList<String> list = null;private ArrayAdapter<String> adapter;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);list = new ArrayList<String>();for (int i = 0; i < 40; i++) {list.add("测试微信消息" + i);}adapter = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_1, list);this.setListAdapter(adapter);ListView lv = this.getListView();lv.setBackgroundResource(R.drawable.d);lv.setOnCreateContextMenuListener(this);}@Overridepublic void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {super.onCreateContextMenu(menu, v, menuInfo);menu.add(1, 1001, 0, "设为标记");menu.add(1, 1002, 0, "置顶该消息");menu.add(1, 1003, 0, "删除该消息");}@Overridepublic boolean onContextItemSelected(MenuItem item) {AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();final int pos = info.position;switch (item.getItemId()) {case 1002: {String s = list.get(pos);list.remove(pos);list.add(0, s);adapter.notifyDataSetChanged();break;}case 1003: {AlertDialog dialog = new AlertDialog.Builder(this).create();dialog.setTitle("系统提示");dialog.setMessage("确认删除该消息吗?");dialog.setButton(DialogInterface.BUTTON_POSITIVE, "确定", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {list.remove(pos);adapter.notifyDataSetChanged();Toast.makeText(getApplicationContext(), "删除成功", 0).show();}});dialog.setButton(DialogInterface.BUTTON_NEGATIVE, "取消", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {Toast.makeText(getApplicationContext(), "取消删除", 0).show();}});dialog.show();break;}default:break;}return super.onContextItemSelected(item);}}
0 0
- 学习日记--ContextMenu的简单测试
- 学习日记--WebView的简单测试
- 学习日记--viewpager简单测试
- ContextMenu的简单使用
- 学习日记--dialog的基本用法测试
- qt右键菜单的简单实例 ContextMenu
- 学习日记--测试startActivityForResult
- 学习日记--PreferenceFragment测试
- ContextMenu 简单了解
- ContextMenu简单实现
- 测试why的日记
- 学习日记--PinnedSectionListView(类似通讯录分组)的测试
- slf4j 简单日记门面学习
- AS3.0学习日记 -- 很简单的面向对象小游戏
- OGRE+CG学习日记[1]-简单的3D程序
- 【Android学习日记】(六) SQLite的简单实例
- 【Android学习日记】(八) Service的简单使用例子
- 210学习日记(5)_简单命令的实现.doc
- OCP-1Z0-051-2015-45题
- oracle 数据库 NLS_CHARACTERSET 字符集的修改
- 点击按钮控制div上下运动——函数封装2
- 查看Java版本和jre地址
- lua 5.2 GC 源码分析 一
- 学习日记--ContextMenu的简单测试
- hibernate缓存配置
- linux 修改系统默认编码
- POJ 2167 Irrelevant Elements
- Linux使用Shell脚本实现ftp的自动上传下载
- iOS 常遇问题与解决
- 计算调和平均数
- C++ 调用 Java 返回String类型
- JAVA 基础知识