gpt4 book ai didi

java - 如何将数据库行 ID 分配给按钮

转载 作者:行者123 更新时间:2023-12-01 09:22:03 25 4
gpt4 key购买 nike

我正在创建一个 TableLayout UI,同时迭代数据库中的行。我希望具有通过单击按钮从 UI 和数据库中删除行的功能。我如何将该 id 分配给按钮(可能作为按钮属性),以便我可以在单击它时获取它并运行数据库查询?

Activity

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.abc.def.FeedHistory">

<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="14dp"
android:id="@+id/todayTable">
</TableLayout>

</RelativeLayout>

Java

// result is a Cursor which contains x number of rows
TableLayout table = (TableLayout) findViewById(R.id.todayTable);
while(result.moveToNext())
{
int row_id = Integer.parseInt(result.getString(0));
String value_from_db = result.getString(1).toString();
TableRow row = new TableRow(this);

TextView row_text = new TextView(this);
row_text.setText(value_from_db+" units");

Button delete_button = new Button(this);
delete_button.setText("Remove");
// how to set row_id here?
// is it okay to use `setId()` method or is there a more elegant way, like a custom attribute?

row.addView(row_text);
row.addView(delete_button);
table.addView(row);
}

最佳答案

您可以使用 View 的 setTag() 和 getTag() 方法:标记基本上是一种允许 View 存储一些附加数据的方法。在您的情况下,您可以使用以下方式存储 id:

delete_button.setTag(row_id);

在 Button 的监听器中,您可以简单地检索 id:

Integer id = (Integer) delete_button.getTag();

然后根据这条信息执行您的逻辑应该执行的操作。在这里查看更多内容: https://developer.android.com/reference/android/view/View.html#Tags

关于java - 如何将数据库行 ID 分配给按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40110465/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com