Android 通过单击按钮返回listview项的id

Android 通过单击按钮返回listview项的id,android,listview,android-arrayadapter,Android,Listview,Android Arrayadapter,我想在android studio中定制一个列表视图,每个项目都有一个按钮。通过单击此按钮,它应将按钮所在的列表视图中项目的id返回到主活动。 我最近添加了布局XML,唯一的问题是MainActivity.java及其所需的类。在适配器的getView方法中设置按钮的标记,例如:- public View getView(int position, View convertview, ViewGroup parent) { Button yourbutton = (B


我想在android studio中定制一个列表视图,每个项目都有一个按钮。通过单击此按钮,它应将按钮所在的列表视图中项目的id返回到主活动。

我最近添加了布局XML,唯一的问题是MainActivity.java及其所需的类。
在适配器的
getView
方法中设置按钮的标记,例如:-

    public View getView(int position, View convertview, ViewGroup parent) {


        Button yourbutton = (Button) view.findViewById(R.id.yourbuttonid);
        yourbutton.setTag(position);
        .......
在按钮的onClick处理中,使用
int position=(int)view.getTag()
检索应该与数组索引相关的位置

在ListView中处理按钮的
onClick
有两种主要方法


1) 指定要在按钮的XML中使用的方法(仅从API级别4开始),并在调用活动中提供处理方法:- 示例XML:-


2) 在
ListView
adapter
getView
方法中包括设置侦听器和
onCLick
处理。 示例:-

您可能希望查看这些,其中更详细地介绍了上述内容


我个人觉得XML方法非常方便。我使用
样式
作为按钮的基础(我使用按钮的文本视图),因此有一个方法(如样式中设置的),我只是将其纳入各自的活动中。这甚至可以很好地处理每个ListView项的多个按钮。

您已经编写了哪些代码来尝试获得结果?它怎么还不起作用?我应该把按钮的onClick放在哪里?@M.R.Davoodi,更新答案,包括可以把onClick处理程序放在哪里。
<Button android:id="@+id/mybutton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Click"
    android:onClick="myButtonClicked" />
    .....
    public myButtonClicked(View view) {
        int position = (int) view.getTag();
        ....
    }
        public View getView(int position, View convertview, ViewGroup parent) {

    
            Button yourbutton = (Button) view.findViewById(R.id.yourbuttonid);
            yourbutton.setTag(position);
            yourbutton.setOnClickListener(new OnClickListener() {
               public void onClick(View view) {
                   int position = view.getTag();
               }
            });