Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使再次打开应用程序时单击的按钮仍处于禁用状态_Java_Android - Fatal编程技术网

Java 如何使再次打开应用程序时单击的按钮仍处于禁用状态

Java 如何使再次打开应用程序时单击的按钮仍处于禁用状态,java,android,Java,Android,我想在一个页面中做许多按钮,当用户使用android手机点击该页面中的一个按钮时,其他所有按钮都将被禁用,只有点击的按钮将变为红色,当重新打开应用程序时,点击的按钮仍然是红色。如果谁知道怎么做,请告诉我。下面是我的代码: <Button android:text="Button" android:layout_width="match_parent" android:layout_height="wrap_content" an

我想在一个页面中做许多按钮,当用户使用android手机点击该页面中的一个按钮时,其他所有按钮都将被禁用,只有点击的按钮将变为红色,当重新打开应用程序时,点击的按钮仍然是红色。如果谁知道怎么做,请告诉我。下面是我的代码:

   <Button
       android:text="Button"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:id="@+id/button" />

   <Button
       android:text="Button"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:id="@+id/button2" />

   <Button
       android:text="Button"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:id="@+id/button3" />

   <Button
       android:text="Button"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:id="@+id/button4" />
}
这是我的主要活动。这是每个安卓手机都可以点击一次按钮,点击并重新打开应用程序后,按钮将被禁用,红色,其他按钮也将被禁用,谢谢

将按钮状态保存在SharedReferences中,当再次打开应用程序时,检查首选项中的值并加载布局。

将按钮的状态保存在SharedReferences中,并在重新打开应用程序时,检查首选项中的值并加载布局。

Android中有一个名为SharedReferences的选项,允许您将应用程序的任何状态的实例保存到内存中,然后从设置中检索。因此,只需将按钮ID保存到SharedReferences,当您打开应用程序时,在首选项中获取按钮ID,然后禁用需要禁用的其他按钮。

Android中有一个名为SharedReferences的选项,允许您将应用程序的任何状态的实例保存到内存中,然后检索它从设置。因此,只需将按钮ID保存到SharedReferences,当您打开应用程序时,在首选项中获取按钮ID,然后禁用需要禁用的其他按钮。

共享首选项示例

1.在
SharedReferences
中存储值:

SharedPreferences preferences = this.getSharedPreferences("SoldiPreferences", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putBoolean("storevalue", false);
editor.commit();
2.从
SharedReferences
:在创建活动时获取价值

   SharedPreferences preferences = this.getSharedPreferences("SoldiPreferences", Context.MODE_PRIVATE);
    preferences.getBoolean("storevalue", false);

    if(preferences.getBoolean("storevalue", false))
    {
    button.setclickable(true);
   button.setenable(true);
    }
    else{
     button.setclickable(false);
   button.setenable(false);
}
  • onButtonCLikListner更新ShareFPrefference值

    最终按钮=新按钮(此按钮); setOnClickListener(新视图.OnClickListener(){ @凌驾 公共void onClick(视图v){


  • 共享偏好示例

    1.在
    SharedReferences
    中存储值:

    SharedPreferences preferences = this.getSharedPreferences("SoldiPreferences", Context.MODE_PRIVATE);
    SharedPreferences.Editor editor = preferences.edit();
    editor.putBoolean("storevalue", false);
    editor.commit();
    
    2.从
    SharedReferences
    :在创建活动时获取价值

       SharedPreferences preferences = this.getSharedPreferences("SoldiPreferences", Context.MODE_PRIVATE);
        preferences.getBoolean("storevalue", false);
    
        if(preferences.getBoolean("storevalue", false))
        {
        button.setclickable(true);
       button.setenable(true);
        }
        else{
         button.setclickable(false);
       button.setenable(false);
    }
    
  • onButtonCLikListner更新ShareFPrefference值

    最终按钮=新按钮(此按钮); setOnClickListener(新视图.OnClickListener(){ @凌驾 公共void onClick(视图v){



  • 可以给我看代码,我不知道如何保存共享优先中按钮的状态,谢谢可以给我看代码,我不知道如何保存共享优先中按钮的状态,谢谢这将帮助你。以上链接存储状态的可见性你可以使用它点击启用/禁用可以给我看代码,我不知道如何保存检查我的回答,我觉得很清楚。不能,只有第一个按钮被禁用,其他按钮仍然可以点击……,我想做的是用户使用安卓手机后点击其中一个按钮,每个按钮都会被禁用,点击的按钮会变成红色,这意味着他或她选择了那个按钮,然后关闭应用程序,再次打开,刚才点击的按钮仍然会重新打开d和disabled和其他按钮也被禁用…这将帮助您。上面的链接存储状态为Visibly,您可以使用它单击启用/禁用可以显示代码,我不知道如何保存检查我的答案,我认为它很清楚。不能,只有第一个按钮被禁用,其他按钮仍然可以单击……,我想做的是在用户使用android之后手机点击其中一个按钮,每个按钮都将被禁用,点击的按钮将变为红色,这意味着他或她选择了该按钮,然后关闭应用程序,再次打开,刚才点击的按钮仍然是红色且被禁用,而其他按钮也被禁用……我想问上面的2个代码,都放在oncreate?或放在onclick?SharedP中references.Editor Editor=preferences.edit();Editor.putBoolean(“storevalue”,false);Editor.commit();我在单击按钮SharedReferences preferences=this.getSharedReferences(“SoldiPreferences”,Context.MODE_PRIVATE”);preferences.getBoolean(“storevalue”,false);if(preferences.getBoolean(“storevalue”,false)){button.setclickable(true);button.setenable(true);}else{button.setclickable(false);button.setenable(false);}这个我放在onCreate中,但当我打开应用程序时,只有第一个按钮禁用,其他按钮仍然可以单击。您还必须设置otherbutton.setclicable(false)和otherbutton.setenable(false);但这段代码看起来像是直接设置按钮被禁用,我想做的是在单击按钮后,它只是被禁用并重新打开它仍然被禁用。我想问上面的两段代码,都放在oncreate?中,还是放在onclick?SharedReferences.Editor编辑器=preferences.edit();Editor.putBoolean(“storevalue”,false);Editor.commit();我在onclick button SharedReferences preferences=this.GetSharedReferences(“SoldiPreferences”,Context.MODE_PRIVATE);preferences.getBoolean(“storevalue”,false);if(preferences.getBoolean(“storevalue”,false)){button.setclickable(true);button.setenable(true);}else{button.setclickable(false);}我把这个放在了onCreate上,但当我打开应用程序时,只有第一个按钮禁用,其他按钮仍然可以单击。你还必须设置otherbutton.setclicable(false)和otherbutton.setenable(false);但这段代码看起来像是直接设置按钮变成禁用,我要做的是点击按钮后,它只是禁用并重新打开它仍然禁用