2016-10-23 12 views
0

ボタンをクリックしたときに非表示にしたいアンドロイドでクリックした後にボタンを隠すには?

私はこのコードを試してみました:

playButton.setVisibility(View.GONE);

をしかし、私は閉じて、アプリを開くと、ボタンが再びショーを再度します。

どのようにボタンを永久に隠すことができますか?ありがとう:)

+1

この設定を保存して、アプリを別々に実行する必要があります。 PreferenceManagerを使用して設定を保存してください。 –

+0

ローカルデバイスの設定を覚えておく必要があります。ボタンを含むビューが表示されたら、設定を読み、必要に応じてボタンを非表示にします。 – NineBerry

+0

永遠に非表示にする方法はありません。 'sharedpreferences'や他の種類のローカルストレージでボタンがクリックされたことを示す値を保存し、ビューを初期化するときにその値を取得することができます。 – Andrius

答えて

2

あなたが技術的には「永遠に」それを隠すことはできませんが、あなたがこれを行うことができます:

まず、あなたのActivity/Fragmentにこの変数を宣言:

public static final String SHARED_KEY_BUTTON_HIDE = "my_button_hidden"; 

のは、これがあるとしましょうあなたのボタン:

final Button myButton = (Button) findViewById(R.id.button); 

ここButtonためsetOnClickListenrです:

myButton.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View view) { 
     myButton.setVisibility(View.GONE); 
     SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); 
     SharedPreferences.Editor editor = preferences.edit(); 
     editor.putBoolean(SHARED_KEY_BUTTON_HIDE, true); 
     editor.apply(); 
    } 
}); 

ここで重要な部分です:

すると、そのActivityスタート、あなたがボタンを宣言した後onCreate()で次の操作を行います。

SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); 
boolean hideButton = preferences.getBoolean(SHARED_KEY_BUTTON_HIDE, false); 

if(hideButton) { 
    myButton.setVisibility(View.GONE); 
} 

これは仕事を行います。

+0

それは魅力のように働いた! –

+0

ありがとう、あなたは英雄です:) –

関連する問題