Android 使用SharedReferences使按钮无法从其他活动中访问

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

当我使用SharedReferences单击ActivityB中的按钮时,我想使ActivityA中的按钮不可点击

一段代码片段就好了


谢谢大家

那么你需要做两件事:

  • 在ActivityB中,检测按钮并单击,然后设置或清除SharedReferences值

  • 在活动中,根据SharedReferences值启用/禁用按钮

  • 步骤1(活动B):

    将此添加到按钮的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(活动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);
    };