我有一個xml文件,現在有一個LinearLayout內的TableLayout。在TableLayout中有帶按鈕的TableRows。在我的Java代碼中,我爲每個按鈕做了一個setOnClickListener。動態視圖與一個靜態xml
問題是我有幾個像這樣的XML文件是完全一樣的,除了在xml中不同按鈕的ID和文本的不同。
所以一個文件時,它會
<Button android:id="@+id/one" android:text="one" />
<Button android:id="@+id/two" android:text="two" />
和另一個文件時,它會
<Button android:id="@+id/three" android:text="three" />
<Button android:id="@+id/four" android:text="four" />
在Java中,一個開關/ case語句的一個部分,我有這樣的情況:
setContentView(R.layout.a);
Button bOne = (Button) findViewById(R.id.one);
Button bTwo = (Button) findViewById(R.id.two);
和另一個我:
setContentView(R.layout.b);
Button bThree = (Button) findViewById(R.id.three);
Button bFour = (Button) findViewById(R.id.four);
冗餘會超過兩個xml文件,這只是一個示例。
有沒有辦法做到這一點,並沒有多個佈局文件,但要在一個佈局文件中完成這一切? xml文件完全一樣,但是對於按鈕的id和文本部分。
我真的不在乎這是如何完成的 - 在Java中,在XML中,或是。這只是我偶爾對佈局進行微小的調整,並且不想繼續調整每個文件的佈局完全相同,但是對於按鈕ID和文本。我想調整一次佈局,並在更改佈局時使其適用於所有佈局。如果我必須將整個佈局文件放在Java中,那就沒問題。
啊,這個工作非常好。我把id改成了像你所說的那樣的通用的,並且在Java中聲明瞭通用的。我也在Java中做了setText以及按鈕。它完美的作品。我想這就是我今後要做的事情 - 在xml文件中靜態佈局的東西,如果它們中的任何東西都是動態的,我會標識它並執行Java代碼中的所有動態操作。謝謝! – 2011-06-01 15:45:26