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

问题描述 投票:0回答:1

[背景信息:我是一个新手,正在学习在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,项目)。 FileHelper是我制作的另一个类。

java android methods onitemclicklistener android-adapterview
1个回答
0
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.