使用sharedpreferences从另一个Activity中创建一个无法点击的按钮

时间:2014-06-15 17:37:48

标签: android button android-activity sharedpreferences

当我使用sharedpreferences点击Activity中的按钮时,我想在Activity中点击一个按钮。

代码段很棒。

谢谢你们!

2 个答案:

答案 0 :(得分:0)

你需要做两件事:

  1. 在ActivityB中检测按钮单击,并设置或清除SharedPreferences值

  2. 在ActivityA中根据SharedPreferences值启用/禁用按钮

  3. 第1步(活动B):

    将此添加到Button的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):

    @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();
        }
    

答案 1 :(得分:0)

首先,当您点击按钮然后在value的{​​{1}}中,您需要将SharedPreferences放到onCreate,您需要检查SharedP中的值是否ActivityA {1}}引用存在。

activityB的onClick按钮

enter code here

b.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { PreferenceManager.getDefaultSharedPreferences(MainActivity.this).edit().putString("button", "1").commit(); //change actvity here } }); 活动A

oncreate()