我想在使用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