Android(安卓)(ListActivity、Contextmenu)微信类消息置顶和删除和功能的实现
16lz
2021-12-04
Android (ListActivity、Contextmenu)微信类消息置顶和删除和功能的实现
代码中继承ListActivity,自定义一个布局。 代码如下:
结果图如下:
代码中继承ListActivity,自定义一个布局。 代码如下:
package com.example.ContextMenudemo2;import java.util.ArrayList;import android.app.ListActivity;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.Toast;public class MainActivity extends ListActivity {private ArrayAdapter adapter = null;private ArrayList<String> list = null;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);list = new ArrayList<String>();adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1,list);for(int i = 1;i<40;i++){list.add("微信消息测试"+i);}this.setListAdapter(adapter);ListView lv = this.getListView();lv.setOnCreateContextMenuListener(this);}@Overridepublic void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) {menu.add(0, 1001, 1, "标记为未读");menu.add(0, 1002, 1, "置顶聊天");menu.add(0, 1003, 1, "删除该聊天");super.onCreateContextMenu(menu, v, menuInfo);}@Overridepublic boolean onContextItemSelected(MenuItem item) {AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();int pos = info.position;int id = item.getItemId();if(id==1003){list.remove(pos);adapter.notifyDataSetChanged();Toast.makeText(getApplicationContext(), "已删除", Toast.LENGTH_SHORT).show();}if(id==1002){String s = list.get(pos);list.remove(pos);list.add(0, s);adapter.notifyDataSetChanged();Toast.makeText(getApplicationContext(), "置顶成功", Toast.LENGTH_SHORT).show();}return super.onContextItemSelected(item);}}
结果图如下:
更多相关文章
- 为什么在AndroidManifest.xml中Activity的theme用不了Theme.Ligh
- Android中的Bundle类
- Android(安卓)library projects cannot be launched
- 在Android中把SQLite的数据库文件存储在SD卡中【转】
- Android(安卓)Kotlin开发模块之间跳转-ARouter
- Android(安卓)Bundle类
- Android百度地图一种简单实现多标注及响应时间的方法
- 如何为ListView设置分割线
- SQlite Android(安卓)数据库应用程序系统