我想在使用sharedpreferences單擊ActivityB中的一個按鈕時使ActivityA中的按鈕不可點擊。使用sharedpreferences從另一個活動製作一個按鈕不可用
代碼片段會很棒。
謝謝你們!
我想在使用sharedpreferences單擊ActivityB中的一個按鈕時使ActivityA中的按鈕不可點擊。使用sharedpreferences從另一個活動製作一個按鈕不可用
代碼片段會很棒。
謝謝你們!
你需要做兩個不同的東西,那麼:
在ActivityB檢測按鈕點擊,並設置或清除SharedPreferences值
在ActivityA啓用/取決於SharedPreferences禁用按鈕值
步驟1(ActivityB):
添加到您的按鈕的XML屬性:
android:onClick="enableButtonA"
然後在ActivityB創建這個方法:
public void enableButtonA(View view)
{
//use the default preferences for this App
SharedPreferences settings=getSharedPreferences(PreferenceManager.getDefaultSharedPreferences(this));
SharedPreferences.Editor prefEditor=settings.edit();
//set the enabled value to false, I would assume you'll want to change this to a toggle
prefeditor.putBoolean("buttonA_enabled", false);
prefEditor.commit();
}
步驟2(ActivityA):
@Override
protected void onResume()
{
super.onResume();
//check the preferences value and enable or disable the button -- default is enabled
boolean isEnabled=PreferenceManager.getDefaultSharedPreferences(this).getBoolean("buttonA_enabled", true);
Button button=(Button)this.findViewById(R.id.buttonA);
button.setEnabled();
}
首先,你需要將value
設置爲SharedPreferences
當您單擊一個按鈕,然後在ActivityA
的onCreate
中,您需要檢查SharedP 012存在參考。 activityB
b.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
PreferenceManager.getDefaultSharedPreferences(MainActivity.this).edit().putString("button", "1").commit();
//change actvity here
}
});
活動的oncreate()
的
的onClick按鈕A
if(PreferenceManager.getDefaultSharedPreferences(youractivity.this).getString("button","").lenght() == 0)
{
yourbutton.setEnabled(false);
};
在ActivityB我有這樣的錯誤: 「點擊不能被解析爲一個變量」 – MobiusApps
@MobiusApps把 「1」,而不是點擊。 putString(「button」,「1」) –
我試過之前,我有這個錯誤 方法putString(String,String)未定義類型SharedPreferences – MobiusApps