簡體   English   中英

OnClickListener 和表格布局

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM