[英]How to use String array with multiple LinearLayouts in Android Studio
我想使用字符串數組作為 LinearLayouts 的增量,如下所示,用於根據當前月份從 JAN 到 DEC 的 12 個月背景顏色變化。 但它根本不按照下面的代碼工作。 我缺少什么,請給我提供正確的代碼片段和示例。
String[] string = {linear_layout1, linear_layout2, linear_layout3, linear_layout4, linear_layout5, linear_layout6, linear_layout7, linear_layout8, linear_layout9, linear_layout10, linear_layout11, linear_layout12};
if(monthOfYear <= 12) {
for(int i = 1; i <= 12; i++)
{
string.setBackgroundColor(getResources().getColor(R.color.GRAY));
}
}
先感謝您..
所以當我得到你的問題時,你有很多視圖,你想改變它們的背景顏色,對嗎? 如果是這樣,那么您的代碼就有問題,解決方法是:
LinearLayout[] lns= {linear_layout1, linear_layout2, linear_layout3, linear_layout4, linear_layout5, linear_layout6, linear_layout7, linear_layout8, linear_layout9, linear_layout10, linear_layout11, linear_layout12};
if(monthOfYear <= 12) {
for(int i = 0; i <= 11; i++)
{
lns[i].setBackgroundColor(getResources().getColor(R.color.GRAY));
}
}
所以首先 LinearLayouts 是視圖,你需要有一個 LinearLayouts 數組或視圖而不是字符串 [](為什么是字符串?)已在 for 循環中聲明並讓每個 LinearLayout 進行更改並對其進行處理。 為了使這更容易,我將 for 循環的開始從 1 更改為 0,結束從 12 更改為 11。(您可以使用 for-each 而不是 for 它會更容易...)還有其他問題嗎? 只是問。
編輯
好的,我想我看到了您的評論,我認為這些linear_layout1
,...只是您的 .xml 文件中的 ID。 正確的? 在這種情況下,您的代碼應該是這樣的:
LinearLayout[] lns= {(LinearLayout)findViewById(R.id.linear_layout1),(LinearLayout)findViewById(R.id.linear_layout2),(LinearLayout)findViewById(R.id.linear_layout3),(LinearLayout)findViewById(R.id.linear_layout4),(LinearLayout)findViewById(R.id.linear_layout5),(LinearLayout)findViewById(R.id.linear_layout6),(LinearLayout)findViewById(R.id.linear_layout7),(LinearLayout)findViewById(R.id.linear_layout8),(LinearLayout)findViewById(R.id.linear_layout9),(LinearLayout)findViewById(R.id.linear_layout10),(LinearLayout)findViewById(R.id.linear_layout11),(LinearLayout)findViewById(R.id.linear_layout12)};
for(int i = 0; i <= 11; i++)
{
lns[i].setBackgroundColor(getResources().getColor(R.color.GRAY));
}
而且我認為 if 語句也沒有用,因為 for 循環總是 12 次那么 if 是什么? 所以我也刪除了它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.