ImageView通过活动的可见性

时间:2014-02-16 18:43:02

标签: android sharedpreferences

我在活动A上有一个ImageView,在活动B上有一个按钮。 ImageView设置为“不可见”。我想知道是否可以在按下按钮时使ImageView可见并永远保持可见(直到用户卸载应用程序或重置它)。

我发现这段代码使ImageView变为可见:

example.setVisibility(View.VISIBLE);

我知道我应该使用SharedPreferences使其工作,但我多次尝试,但没有成功。

有人能帮助我吗?

非常感谢你。

P.S。我要做的是创建(或简单地显示)一个勾号,以便用户知道他完成了哪个级别。如果有另一种方式,我知道有,请告诉我。

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

我解决了。 Rnk的方法是关键。它返回错误,因为我正在使用findViewById与另一个布局中的对象,并返回零点。所以我导入了imageView所在的布局,并且我解决了。谢谢。