動的なカスタムテーブル行を使用してテーブルを作成しています。アクティビティクラスでIDを取得する必要があります。
main_Activity-> MyTableLayoutView-> MyTableRow
私の質問は、テーブル(TextViews)でクリックされたセルのIDをmain_Activiyに取得するにはどうすればよいですか。
MyTableRowView:
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クラスにある必要があります。誰かが私を教えてくれるならお願いします。前もって感謝します。
アクティビティクラス:
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);
}
TableLayoutView:
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);
}
}