我的要求是,我有一个包含多行的表格,通过选择单行应该在屏幕上显示其内容。我发现通过为每一行编写 onClick() 是可以实现的,但为多行编写多个 onClick() 是不可行的。那么有什么方法可以在不编写多个 onClick() 的情况下实现这一点。
这是我的表格 XML:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/relativelayout1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<ScrollView android:id="@+id/ScrollView01"
android:layout_height="100dp" android:layout_width="wrap_content">
<TableLayout
android:id="@+id/tableLayout1"
android:layout_width="wrap_content"
android:background="#000000"
android:stretchColumns="*"
android:layout_height="100dp"
android:scrollbars="horizontal"
>
<TableRow
android:layout_margin="0.2dip"
android:background="#000000" >
<TextView
android:layout_margin="0.2dip"
android:background="#FFFFFF"
android:text="@string/code" />
<TextView
android:layout_margin="0.2dip"
android:background="#FFFFFF"
android:text="@string/name" />
</TableRow>
<TableRow
android:layout_margin="0.2dip"
android:background="#000000"
android:focusable="true"
android:onClick="showData" >
<TextView
android:id="@+id/code1"
android:layout_margin="0.2dip"
android:background="#FFFFFF"
android:text="@string/code1" />
<TextView
android:id="@+id/code2"
android:layout_margin="0.2dip"
android:background="#FFFFFF"
android:text="@string/name1" />
</TableRow>
我已经为第二行写了 onClick。
这是活动类中的 onClick():
public void showData(View view){
text = new EditText(this);
//text = (EditText) findViewById(R.id.displayData);
TextView tx1 = (TextView) findViewById(R.id.code1);
TextView tx2 = (TextView) findViewById(R.id.code2);
TextView tx3 = (TextView) findViewById(R.id.displayData);
tx3 = new TextView(this);
String str = tx1.getText().toString();
String str1 = tx2.getText().toString();
tx3.setText("CODE : "+str+" "+"NAME :"+str1);
//text.setText("CODE : "+str+" "+"NAME :"+str1);
//text.setText("NAME :"+str1);
setContentView(tx3);
}