繁体   English   中英

如何从另一个 class 内部调用 onItemClick 方法?

[英]How do I call the onItemClick method from inside another class?

[背景信息:我是一名新手,正在学习在 Android Studio 中制作“待办事项”应用程序。 基本上,当用户单击待办事项列表中的任何项目时,我会弹出一个对话框,这使用户可以选择两个按钮来“删除或取消”他们单击的任何特定项目。 然后我想让那个删除按钮执行这个方法中的代码。]

我试图从我创建的对话框片段 class 中调用这个 onItemClick 方法(我在 MainActivity 中创建的)。 我不知道这些参数值是什么(似乎它们是自动生成的),但是当我想为删除按钮调用 onItemClick 方法时,Android Studio 要求我传递四个参数。 这是我试图调用的方法:

'''

@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
    items.remove(position);
    adapter.notifyDataSetChanged();
    FileHelper.writeData(items, this); }

'''

我在 MainActivity 中定义了这个方法,因为它里面的所有东西都是在那个 Activity 中创建和定义的(adapterview,items)。 FileHelper 是我制作的另一个 class。

我假设您正在使用该列表。 您可以在文档中查看每个 arguments 的更多信息(参见页面底部)。

  • 如果这是您列表的单击侦听器,其中AdapterView<?> parent是您单击的 object 的父视图 - 如果使用ListView ,则此 object 将是该ListView
  • View view是您单击的实际视图。 例如,如果您有一个TextView列表,然后单击其中一个,您将在此处获得该文本视图。
  • int position是列表中单击项目的 position(0 是第一项)。
  • long id是被点击项的 id,你通常在适配器中控制它。

因此,例如,如果您想检索被点击的元素,您可以在列表视图中使用getItemAtPosition(position)来获取实际项目 object。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM