2014-06-15 69 views

回答

0

你需要做兩個不同的東西,那麼:

  1. 在ActivityB檢測按鈕點擊,並設置或清除SharedPreferences值

  2. 在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(); 
    } 
0

首先,你需要將value設置爲SharedPreferences當您單擊一個按鈕,然後在ActivityAonCreate中,您需要檢查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); 
}; 
+0

在ActivityB我有這樣的錯誤: 「點擊不能被解析爲一個變量」 – MobiusApps

+0

@MobiusApps把 「1」,而不是點擊。 putString(「button」,「1」) –

+0

我試過之前,我有這個錯誤 方法putString(String,String)未定義類型SharedPreferences – MobiusApps

相關問題