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

时间:2020-06-09 22:05:54

标签: java android methods onitemclicklistener android-adapterview

[背景信息:我是一个新手,正在学习在Android Studio中制作“待办事项列表”应用。 基本上,当用户单击“待办事项”列表中的任何项目时,都会弹出一个对话框,该对话框为用户提供了两个按钮,供他们单击的任何特定项目“删除或取消”。然后,我希望该删除按钮执行此方法中的代码。]

我正在尝试从我创建的对话框片段类中调用此onItemClick方法(在MainActivity中创建)。我不知道这些参数值是什么(似乎它们是自动生成的),但是当我想为Delete按钮调用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中定义了此方法,因为其中的所有内容已经在该活动中创建和定义(adapterview,items)。 FileHelper是我制作的另一个类。

1 个答案:

答案 0 :(得分:0)

我假设您正在使用列表。您可以查看the documentation中每个自变量的更多信息(请参阅页面底部)。

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

例如,如果要检索被单击的元素,则可以在列表视图上使用getItemAtPosition(position)来获取实际的项目对象。