[英]Add dynamic data to onClickListener of TextViews in Table Layout
[英]OnClickListener and Table Layout
我有兩個布局的活動,都在 R.layout.main 中實現。 第一個是與應用程序主屏幕的相對布局,另一個是表格布局,包含一種首選項屏幕。 通常,第一個設置為可見,第二個設置為消失。 通過單擊一個按鈕,我使相對布局消失,並且表格布局可見。 這里開始了我的問題,我想為那個表格布局設置一個 OnClickListener(它實際上是一個按鈕數組)。 我試過類似的東西:
final TableLayout table = (TableLayout)findViewById(R.id.tab);
table.setOnClickListener(new OnClickListener(){
public void onClick(View arg){
Button clickedButton = (Button)arg;
String t = (String) clickedButton.getTag();
Toast toast = Toast.makeText(getApplicationContext(),t,Toast.LENGTH_SHORT);
toast.show();
}
});
顯然,它不起作用。 我對 Android 編程很陌生,我整天都在尋找合適的解決方案,但沒有任何結果。
它無法工作,因為您首先嘗試將 TableLayout 轉換為按鈕......如果您的 TableLayout 僅包含按鈕,您可以執行以下操作:
TableLayout yourRootLayout = findView....
int count = yourRootLayout.getChildCount();
for(int i = 0; i < count; i++){
View v = yourRootLayout.getChildAt(i);
if(v instanceof TableRow){
TableRow row = (TableRow)v;
int rowCount = row.getChildCount();
for (int r = 0; r < rowCount; r++){
View v2 = row.getChildAt(r);
if (v2 instanceof Button){
Button b = (Button)v2;
b.setOnClickListener(this);
}
}
}
}
並讓您的活動實現 OnClickListener。 只需將您現有的 onClick 復制到 Activity 本身...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.