android - 如何从该项目上的 PopupMenu 引用 ListView 项目
问题描述
我有一个片段中的列表视图的自定义适配器。列表视图中的每个项目都有一个弹出菜单。弹出菜单上的选项是向上或向下移动列表视图中的项目。我的问题是如何从弹出菜单项单击侦听器中引用列表视图。
适配器->getView 和弹出监听器代码是:
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
convertView = inflater.inflate(R.layout.row_media_morebtn, null);
parent.setDescendantFocusability(ViewGroup.FOCUS_BLOCK_DESCENDANTS);
final ImageButton imgCk = convertView.findViewById(R.id.moreButton);
imgCk.setImageResource(R.drawable.more_hor);
imgCk.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
v.findViewById(R.id.moreButton).setTag(position);
showPopupMenu(v, position);
}
});
return convertView;
}
private void showPopupMenu(View view, int position) {
PopupMenu popup = new PopupMenu(context, view, Gravity.END);
MenuInflater inflater = popup.getMenuInflater();
inflater.inflate(R.menu.mediapopup, popup.getMenu());
popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()) {
case R.id.movedown:
//move item down
break;
}
return true;
}
});
popup.show();
}
解决方案
推荐阅读
- node.js - 如何在 webpack 捆绑之前获取文件的 __dirname
- java - 堆栈中的内存分配和局部变量的删除
- python-3.x - 在python中计算较大数的幂的最有效方法是什么
- html - 如何将按钮插入 HTML 表格单元格
- android - 安装 apk 时出错:INSTALL PARSE_FAILED_NOT_APK
- cassandra - 在 Cassandra 中设置范围查询的主键
- excel - 如何基于一列导出多个excel
- google-coral - 带有 OpenCV 的 Coral USB 加速器
- node.js - 如何修复“我有作者和书籍架构,在 Postman 结果中,我想为一本书显示两个或多个作者”
- regex - 从末尾开始连续两个大写字母