4

動的に膨張したレイアウトがあります。

<TableLayout>
   <!-- Two more tablelayout here -->
   <ScrollView>
      <TableLayout>
         <!-- Here a tablerow is added using inflate layout -->
      <TableLayout>
   </ScrollView>
 </TableLayout>

テーブル行のレイアウトは次のようになります。

<?xml version="1.0" encoding="utf-8"?>
<TableRow xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" 
style="@style/savedItemRow">

<TableLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    <TextView 
        style="@style/textviewSaved"
        android:id="@+id/text_item"/>
    <TextView
            android:id="@+id/text_item_responce"
            style="@style/textviewSavedSub" />

</TableLayout>
</TableRow>

text_item id がクリックされたときにリッスンしたいと思います (実行時に作成された tablerows を動的に作成したことに注意してください)。

私はアンドロイド初心者です。質問の仕方が正しかったかどうかはわかりません。実行時に何らかの方法でクリック項目のプロパティを取得して、それらを操作できるようにしたいと考えています。ありがとうございました。

4

1 に答える 1

6

TextView Clickable を作成するために、TexView レイアウトに android:clickable を追加します。

android:clickable="true"

そしてコード部分で:

TextView text = new TextView(this);
text.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
text.setText("YOUR TEXT");
text.setId(5111);
text.setClickable(true);
text.setOnClickListener(handler);
View.OnClickListener handler =new View.OnClickListener() {
public void onClick(View v) {
    switch (v.getId()) {
        case R.id.mytextviewone: // doStuff
            break;
        case R.id.mytextviewone: // doStuff
            break;
    }
}

}

于 2012-07-02T04:46:34.443 に答える