返回顶部

一缕半夏微光

温柔半两,从容一生

导航

长按listview弹出选项列表

写APP的时候,

一直想要有一个效果就是,

长按然后可以弹出一个菜单,

来选择自己是进行删除或是修改操作,

在这里我使用了Menu菜单组件——上下文菜单

效果图如下:

在MainActivity.java中代码如下:

 1 public class MainActivity extends AppCompatActivity {
 2     
 3     //ListView
 4     private List<A> accountList=new ArrayList<A>();//其中A为自己创建的一个类
 5     private ListView listView=null;
 6     
 7     @Override
 8     protected void onCreate(Bundle savedInstanceState) {
 9         super.onCreate(savedInstanceState);
10         setContentView(R.layout.activity_main);
11 
12         //ListView
13       
14         AccountAdapter adapter=new AccountAdapter(MainActivity.this,R.layout.item,accountList);
15         listView=findViewById(R.id.main_lv);//绑定listview
16         listView.setAdapter(adapter);//设置adapter
17 
18         //给当前View注册上下文菜单.
19         this.registerForContextMenu(listView);
20 
21   }
22     @Override
23     public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo){
24         menu.add(1,1,1,"修改");
25         menu.add(1,2,1,"删除");
26     }
27     @Override
28     public boolean onContextItemSelected(MenuItem item){
29         switch (item.getItemId()){
30             case 1:
31                 Toast.makeText(this, "点击修改", Toast.LENGTH_SHORT).show();
32                 break;
33             case 2:
34                 Toast.makeText(this, "点击删除", Toast.LENGTH_SHORT).show();
35         }
36         return super.onContextItemSelected(item);
37     }
38     @Override
39     /**
40      * 关闭上下文菜单触发此方法
41      */
42     public void onContextMenuClosed(Menu menu){
43         Toast.makeText(this, "关闭上下文菜单", Toast.LENGTH_SHORT).show();
44     }
45 }

其他布局代码便不展示了

关于Menu菜单组件(选项菜单,上下文菜单,子菜单)

详情可见博客:https://www.cnblogs.com/lichenwei/p/3963358.html

posted on 2021-02-24 22:26  一缕半夏微光  阅读(171)  评论(0编辑  收藏  举报