Android Studio - 我如何保存按钮值?

问题描述:

我喜欢保存并关闭按钮,之后我用的按钮(下面的代码行):Android Studio - 我如何保存按钮值?

btn1.setEnabled(false); 

我已经知道我必须使用SharedPreferences,但我仍然需要与代码帮助。我已经尝试了很多,但没有成功。那是我的代码。

public class Pass extends AppCompatActivity implements View.OnClickListener { 

private Button btn1; 
private EditText text1; 


@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_pass); 

    btn1 = (Button) findViewById(R.id.button); 
    btn1.setOnClickListener(this); 

    text1 = (EditText) findViewById(R.id.editText); 
    text1.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD); 



} 


public void onClick (View view){ 


    if (text1.getText().toString().equals("Pass)){ 
     AlertDialog ad = new AlertDialog.Builder(this).create(); 
     ad.setMessage("Super"); 
     ad.show(); 
     Intent intent = new Intent(this,Popup.class); 
     startActivity(intent); 

     btn1.setEnabled(false); 

    }else{ 
     String message = "Leider falsch"; 
     Toast.makeText(this,message, Toast.LENGTH_LONG).show(); 
    } 
} 

} 

感谢您的帮助

+0

你试图让每禁用活动开始时间的按钮? – Ali

+0

[Android共享偏好示例]的可能重复(https://stackoverflow.com/questions/23024831/android-shared-preferences-example) –

+0

你在哪里有问题?您无法将值保存在SharedPrefrences中吗?或者还有别的东西在困扰着你? –

public class Pass extends AppCompatActivity implements View.OnClickListener 
{ 

private Button btn1; 
private EditText text1; 
private SharedPreferences sharefPref; 
private SharedPreferences.Editor editor; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.activity_pass); 

btn1 = (Button) findViewById(R.id.button); 
btn1.setOnClickListener(this); 

text1 = (EditText) findViewById(R.id.editText); 
text1.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD); 
sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE); 
editor = sharedPref.edit(); 
} 


public void onClick (View view){ 

if(sharedPref.getBoolean("YourKey"),true) 
{ 
editor.putBoolean("YourKey",false); 
editor.commit(); 

if (text1.getText().toString().equals("Pass)){ 
    AlertDialog ad = new AlertDialog.Builder(this).create(); 
    ad.setMessage("Super"); 
    ad.show(); 
    Intent intent = new Intent(this,Popup.class); 
    startActivity(intent); 

}else{ 
    String message = "Leider falsch"; 
    Toast.makeText(this,message, Toast.LENGTH_LONG).show(); 
} 

} 
} 

} 
+0

它没有工作。 – Strecki

+0

@Strecki也许我理解不好,你在找什么? – Curio

+0

我认为你的代码不坏,但是当我重新启动应用程序时,按钮“btn1”仍然是可点击的。按钮btn1必须在第一次使用后禁用,当我重新启动应用程序。这真的很棘手。 – Strecki