2012-12-19 82 views
0

我有一個android應用程序,默認顯示一系列使用xml的ImageButton。用戶根據他們的輸入更改圖像。我正在嘗試在用戶下次加載應用程序時顯示已更改的ImageButton。在應用程序加載時更改默認的xml圖像

實施例: 的ImageButton開始作爲Android.png(從默認的xml頁面加載) 用戶輸入文本的下一次 的ImageButton被改變爲Correct.png

,所述應用程序加載我想Correct.png顯示而不是Android.png。有沒有一種方法可以在應用程序啓動之前遍歷ImageButtons(按鈕不是以編程方式創建的),以便在應用程序加載之前爲每個按鈕設置源值?

回答

0

您可以對每個按鈕使用findViewById(R.id.button_1)並根據需要進行設置。然後,您需要存儲應該具有的值,以便可以加載這些值併爲每個值設置ImageButton源。您可以使用SharedPreferences或SQLite數據庫來存儲它,具體取決於您需要更改多少。

因此,舉例來說:

ImageButton b = (ImageButton)findViewById(R.id.button_1); 
b.setImageDrawable(drawable); 

可以加載繪製了對複選框,這樣你做它只有一次,這是更有效的,或者你可以setImageResource到R.drawable.correct,這會有點慢,因爲我認爲複選框可能會設置爲多個圖像。

0

使用SharedPreferences執行此操作的更好方法。

SharedPreferences sharedPref = getSharedPreferences("userpref", Activity.MODE_PRIVATE); 

String image = pref.getString("userchoice","no-image"); 

if(image.equeals("no-image") 
{ 
    imageView.setBackgroundResource(R.drawable.android); 
} 
else 
{ 
    //compare here your image 
    imageView.setBackgroundResource(R.drawable.Correct); 
} 

每當用戶選擇的任何其他圖像,只需使用下面的代碼編輯preference文件。

SharedPreferences.Editor editor = pref.edit(); 
editor.putString("userchoice","Correct.png"); 
相關問題