2014-02-16 111 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的布局,我解决了。谢谢。

相关问题