无法使用共享首选项设置按钮的可见性

时间:2018-01-06 15:19:18

标签: java android android-intent sharedpreferences

我创建了一个图片库应用。

我的要求:当我点击一个活动(PhotosActivity.java)中的buttoncut时,buttonpaste应该变得可见,当我回到另一个活动(ImageGallery.java)时它应该保持可见,以便我可以用它来移动图片另一个文件夹。 buttonpaste 只有在我点击 buttoncut 时才会显示,当我第一次打开第一个活动(Imagegallery.java)时它应该是不可见的。< / p>

发生了什么:第一次打开第一个活动(Imagegallery.java)时, buttonpaste 已经可见。其他一切正常。

我尝试了一些代码,但它没有用。我该如何解决?

PhotosActivity.java

    SharedPreferences preferences = getSharedPreferences("sample",Context.MODE_PRIVATE);
    SharedPreferences.Editor editor = preferences.edit();
    editor.putBoolean("Name",true);
    editor.apply();
    Intent intent = new Intent(PhotosActivity.this,ImageGallery.class);
    startActivity(intent);

ImageGallery.java

 final ImageButton buttonpaste = (ImageButton) findViewById(R.id.buttonpaste);
        buttonpaste.setVisibility(View.GONE);

        SharedPreferences preferences = getSharedPreferences("sample",Context.MODE_PRIVATE);
        boolean Namestr=(preferences.getBoolean("Name",true));
        if(Namestr){
            buttonpaste.setVisibility(View.VISIBLE);
        }

1 个答案:

答案 0 :(得分:1)

看看这一行:

boolean Namestr=(preferences.getBoolean("Name",true)); 

因此,如果您没有使用“{1}}键”名称“写任何内容,则默认值为SharedPreferences。这意味着默认情况下true是可见的。要更改此设置,您必须将buttonPaste设置为默认值:

false