2014-02-16 45 views
0

我有活動A上的ImageView和活動B上的按鈕。 ImageView設置爲「不可見」。我想知道是否可以在按下按鈕時使ImageView可見,並永久保持可見(直到用戶卸載應用程序或重置它)。ImageView通過活動的可見性

我發現這段代碼,使ImageView的轉可見:

example.setVisibility(View.VISIBLE); 

我知道我應該使用SharedPreferences,使其工作,但我試過很多次,都沒有成功。

有人可以幫我嗎?

非常感謝。

P.s.我必須做的是創建(或簡單地使可見)勾選,以便用戶知道他完成了哪個級別。如果還有其他方法,而且我知道有,請告訴我。

回答

1

看來你已經設置在XML您的ImageView的使用可視性

android:visibility="invisible" 

而是使用類似的代碼,始終設置知名度 -

SharedPreferences sharedPreferences; 

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    sharedPreferences = getSharedPreferences(getString(R.string.sp_key), 
      MODE_PRIVATE); 
    ImageView example = (ImageView) findViewById(R.id.example_image); 
    boolean visible = sharedPreferences.getBoolean(R.string.visible, false); 

    if (visible) { 
     example.setVisibility(View.VISIBLE); 
    } else { 
     example.setVisibility(View.INVISIBLE); 
    } 
} 

然後當用戶點擊複選框或其他內容顯示他們想讓您的ImageView可見,請將其保存到SharedPreferences中。 有關SharedPreferences示例的更多詳細信息,請參閱How to use SharedPreferences in Android to store, fetch and edit values

+0

謝謝。這非常有幫助! –

+0

這可行,但當我觸摸按鈕(應該將可見性設置爲通過您的代碼「可見」)該活動崩潰。產生問題的線路是這樣的:example.setVisibility(View.VISIBLE);尷尬了... –

0

我解決了。 Rnk的方法是關鍵。它返回的錯誤,因爲我使用findViewById與另一個佈局的對象,它返回空點。所以我導入了imageView的佈局,我解決了。謝謝。

相關問題