Android 使用SharedReferences使按钮无法从其他活动中访问
当我使用SharedReferences单击ActivityB中的按钮时,我想使ActivityA中的按钮不可点击 一段代码片段就好了Android 使用SharedReferences使按钮无法从其他活动中访问,android,button,android-activity,sharedpreferences,Android,Button,Android Activity,Sharedpreferences,当我使用SharedReferences单击ActivityB中的按钮时,我想使ActivityA中的按钮不可点击 一段代码片段就好了 谢谢大家 那么你需要做两件事: 在ActivityB中,检测按钮并单击,然后设置或清除SharedReferences值 在活动中,根据SharedReferences值启用/禁用按钮 步骤1(活动B): 将此添加到按钮的XML属性: android:onClick="enableButtonA" 然后在ActivityB中创建此方法: public void
谢谢大家 那么你需要做两件事:
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(活动a):
首先,当您单击按钮时,需要将
值
放入SharedReferences
,然后在活动a的onCreate
中检查SharedP中的值是否存在
活动B的onClick按钮
b.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
PreferenceManager.getDefaultSharedPreferences(MainActivity.this).edit().putString("button", "1").commit();
//change actvity here
}
});
活动A的oncreate()
if(PreferenceManager.getDefaultSharedPreferences(youractivity.this).getString("button","").lenght() == 0)
{
yourbutton.setEnabled(false);
};
在ActivityB中,我有一个错误:“clicked无法解析为变量”@MobiusApps将“1”替换为clicked。putString(“button”,“1”)我以前尝试过,但出现了以下错误:类型SharedReferences的方法putString(String,String)未定义
if(PreferenceManager.getDefaultSharedPreferences(youractivity.this).getString("button","").lenght() == 0)
{
yourbutton.setEnabled(false);
};