gpt4 book ai didi

java - 从动态自定义表中获取 id,行

转载 作者:行者123 更新时间:2023-11-30 11:41:35 25 4
gpt4 key购买 nike

我正在创建一个包含动态自定义表格行的表格。我需要在 Activity 类中获取 id。

main_Activity-->MyTableLayoutView-->MyTableRow

我的问题是,如何将表格 (TextViews) 中单击的单元格的 ID 获取到 main_Activiy。

我的表格行 View :

    public void addRow(String[] data, int[] rowId) {
for (int i = 0; i < data.length; i++) {
TextView tv = parseTextView(data[i]);
tv.setId(rowId[i]);
tv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
TextView tv2 = (TextView) v;
clickedText = tv2.getText().toString();
Debug.debugMsg(clickedText + " " + tv2.getId());
}
});
this.addView(tv);
}
}

据我所知是从 TablerowView 类获取 id,但我需要它在 Activity 类中,如果有人能启发我,请告诉我。提前致谢。

Activity 类:

    private void showTables() {
db.open();
db.importDb();// TODO
table = new TableLayoutView(this,Converter.toArrayListStringArray(db.getDbTablesForChoose()));
table.addDataListArray(Converter.toArrayListStringArray(db.getDbTablesForChoose()),true);
llChooseSQLTable.addView(table);
}

表格布局 View :

    public void addDataListArray(ArrayList<String[]> data, boolean header) {

for (int i = 0; i < ROW_NUMBERS; i++) {
TableRowView tableRow = new TableRowView(context);

tableRow.setLayoutParams(new LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));

tableRow.addRow(data.get(i),idHandler.getNextIdsRow());//idHandles passes unique id.
this.addView(tableRow);
}
}

最佳答案

您似乎可以从上面的代码中获取 ID。如果您主要关心的是将该 id 从 View 传播回父类,那么您可以通过多种方式进行。一种方法是获取 View 的上下文,然后将其转换为特定 Activity 并在该 Activity 中调用函数,例如在 onClick() 操作中:

public void onClick(View v) {
((MyActivity)v.getContext()).insertNotificationMethod(v.getId());
}

您的 Activity 称为 MyActivity,您实现了一个名为 insertNotificationmethod 的方法,该方法接受一个整数。仅当此 View 始终位于此函数内时,此方法才有效,即便如此,这也是一种相当粗略的方法。

您也可以直接在 onClick() 方法中调用它:

MyActivity.this.insertNotificationMethod(v.getId());

但是,这种做事方式会限制该 View 仅在该特定 Activity 中有用。

对于更通用的方式,您可以使用 BroadcastReceivers,它可能比您想要的更复杂一些。有关这些的更多信息,您可以在此处查看 Android 文档:http://developer.android.com/reference/android/content/BroadcastReceiver.html

希望对您有所帮助。

关于java - 从动态自定义表中获取 id,行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12205991/

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