2014-06-15 34 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

相关问题