在 listView 上单击按钮后获取 _id 和位置项目 - Android
Get _id and position item after click button on listView - Android
实际上,当我在 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
上为我的项目添加了 "update" 按钮,我想使用它并使用与上面相同的代码,但我不知道如何将它与列表中的按钮一起使用。
我在 .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
实际上,当我在 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
上为我的项目添加了 "update" 按钮,我想使用它并使用与上面相同的代码,但我不知道如何将它与列表中的按钮一起使用。
我在 .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