将活动作为参数发送到列表视图的自定义适配器,然后将其发送到弹出菜单类,然后意图执行相同的活动



我有一个包含多个成员的Listview,每个成员由5个项目组成

这5项中的一项是一个名为"delete_item"的Imageview,它可以删除它所属的成员(如果用户长时间点击它(

当用户长时间点击"delete_item"时,我打开一个由两个项目组成的弹出菜单,以便用户选择其中一个:
1-垃圾图像视图
2-返回图像视图

如果用户单击trash Imageview,则该成员将被删除,如果用户单击返回项,则不会发生任何事情,而是如下所示关闭对话框:

popupWindow.dismiss();

我必须将"活动"从Listview适配器传递到用于通货膨胀的弹出类:

LayoutInflater inflater = (LayoutInflater) myActivity.getSystemService(LAYOUT_INFLATER_SERVICE);

一切都很好,但有两个问题如下:

问题1-将Activity作为参数首先发送到Listview的自定义适配器,然后第二次发送到从该适配器调用的弹出类,这是真的吗?

问题2-当用户点击垃圾图片视图并删除该成员时,我重新指定弹出菜单所属的活动,指定我们所处的相同活动是真的吗?

您可以简单地通过任何上下文获取LayoutInflater

您可以从任何视图获取上下文。比如

Context ctx=view.getContext();
LayoutInflater inflater= ((AppCompatActivity)ctx).getLayoutInflater();

或者,如果您有任何Container对象,那么只需通过以下方式获取:container.getLayoutInflater();

除了Insane Developer,还有第二个问题的答案:

适配器中应该有一个名为notifyDataSetChanged((的方法来重新绘制ListView。这比重新开始活动要好得多。

相关内容

最新更新