java - 单击 listView 上的按钮后获取 _id 和位置项目 - Android

标签 java android listview button simplecursoradapter

实际上,当我单击 listView 上的位置时,我在数据库中有更新项目选项。 onCreate 方法中的代码:

AdapterView.OnItemClickListener itemClickListener = new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> listViewOrganizacje, View view, int position, long id) {
        Intent intent = new Intent(BazaDanych.this, BazaDanychAktualizacja.class);
        intent.putExtra(BazaDanychAktualizacja.EXTRA_ORGANIZACJA_ID, (int) id);
        startActivity(intent);
    }
};
listViewSeriale.setOnItemClickListener(itemClickListener);

而且效果很好。但是我在 listView 上为我的项目添加了“更新”按钮,我想使用它并使用与上面相同的代码,但我不知道如何将它与列表上的按钮一起使用。 我在 .xml 中的更新按钮首选项:

<Button
    android:id="@+id/updateButton"
    style="@android:style/Widget.Holo.Button"
    android:layout_width="36dp"
    android:layout_height="25dp"
    android:layout_weight="1"
    android:background="#000000"
    android:text="update"
    android:textAlignment="center"
    android:textAllCaps="false"
    android:textSize="15dp"
    android:onClick="clickUpdateButton"
    />

这是我尝试使用的一种方法:

public void clickUpdateButton(View view) {

    //        AdapterView.OnItemClickListener itemClickListener = new AdapterView.OnItemClickListener() {
//            @Override
//            public void onItemClick(AdapterView<?> listViewOrganizacje, View view, int position, long id) {
//                Intent intent = new Intent(BazaDanych.this, BazaDanychAktualizacja.class);
//                intent.putExtra(BazaDanychAktualizacja.EXTRA_ORGANIZACJA_ID, (int) id);
//                startActivity(intent);
//            }
//        };
//        listViewSeriale.setOnItemClickListener(itemClickListener);

}

最佳答案

问题已解决。

以下是 clickUpdateButton 方法中的解决方案代码:

int position = listViewSeriale.getPositionForView((View)view.getParent());

Cursor c = (Cursor) listAdapter.getItem(position);
String id = cursor.getString(0); // column number in database

关于java - 单击 listView 上的按钮后获取 _id 和位置项目 - Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61716234/

相关文章:

java - Spring Data JpaRepository 方法问题中的 Pageable 和 @Param [2]

c# - 保持库无依赖性

java - 错误 java.sql.SQLException : ORA-01722: invalid number while running a Prepared Statement to alter a Sequence

android - 如何从 Android Studio 运行单个 Kotlin 类

c# - WrapPanel 不在 WPF ListView 中换行

Android - 致命异常 : main when adding subList

java - 具有 Java API 的 linux 范围内的信号量

android - OnPreviewFrame数据图片到imageView

android - 如何在 Android 中编辑 assets 文件夹中的文本文件?

android - ListView 和 onItemClick 创建透明 fragment