Java dialogBuilder.setMessage为空
Java dialogBuilder.setMessage为空,java,android,null,android-edittext,android-alertdialog,Java,Android,Null,Android Edittext,Android Alertdialog,dialogBuilder.setMessage不显示任何内容!好像它正在显示一个null字符串。但是,newUserPassword通过EditTextnewPassword public class OKActivity extends Activity { EditText newPassword; String newUserPassword; @Override protected void onCreate(Bundle savedInstanceState) { sup
dialogBuilder.setMessage
不显示任何内容!好像它正在显示一个null
字符串。但是,newUserPassword
通过EditTextnewPassword
public class OKActivity extends Activity {
EditText newPassword;
String newUserPassword;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_ok);
newPassword = (EditText) findViewById(R.id.new_password);
newUserPassword = newPassword.getText().toString();
getpasswordSharedPreferences();
Button changePassword = (Button) findViewById(R.id.button_change);
changePassword.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
setSharedPreferences();
}
});
}
private String getpasswordSharedPreferences() {
SharedPreferences userPassword = getSharedPreferences("USER_PASSWORD", MODE_PRIVATE);
String password = userPassword.getString("THE_PASSWORD", "123");
return password;
}
private void setSharedPreferences() {
SharedPreferences userPassword = getSharedPreferences("USER_PASSWORD", MODE_PRIVATE);
SharedPreferences.Editor password_edior = userPassword.edit();
password_edior.putString("THE_PASSWORD", newUserPassword);
password_edior.commit();
Toast.makeText(OKActivity.this, "Password Change Succesful", Toast.LENGTH_SHORT).show();
AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(OKActivity.this);
dialogBuilder.setIcon(R.drawable.ic_launcher);
dialogBuilder.setTitle("Done!");
dialogBuilder.setMessage(newUserPassword);
dialogBuilder.setPositiveButton("OK", null);
dialogBuilder.show();
}
试试这个:
public class OKActivity extends Activity {
EditText newPassword;
String newUserPassword;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_ok);
newPassword = (EditText) findViewById(R.id.new_password);
//do not retrieve password here
Button changePassword = (Button) findViewById(R.id.button_change);
changePassword.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
//retrieve password here. Assuming user has entered some string before clicking on changePassword button
newUserPassword = newPassword.getText().toString();
getpasswordSharedPreferences();
setSharedPreferences();
}
});
}
private String getpasswordSharedPreferences() {
SharedPreferences userPassword = getSharedPreferences("USER_PASSWORD", MODE_PRIVATE);
String password = userPassword.getString("THE_PASSWORD", "123");
return password;
}
private void setSharedPreferences() {
SharedPreferences userPassword = getSharedPreferences("USER_PASSWORD", MODE_PRIVATE);
SharedPreferences.Editor password_edior = userPassword.edit();
password_edior.putString("THE_PASSWORD", newUserPassword);
password_edior.commit();
Toast.makeText(OKActivity.this, "Password Change Succesful", Toast.LENGTH_SHORT).show();
AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(OKActivity.this);
dialogBuilder.setIcon(R.drawable.ic_launcher);
dialogBuilder.setTitle("Done!");
dialogBuilder.setMessage(newUserPassword);
dialogBuilder.setPositiveButton("OK", null);
dialogBuilder.show();
}
很高兴我能帮忙。请标记答案,因为它可能也会帮助其他人。赞成票没有坏处,但“标记答案”的意思是单击您看到的勾号。:)还可以发布一个问题来描述你的其他问题。如果可以的话,我一定会帮上忙。我知道,但是
stackoverflow
不会让我在10分钟之前把它标记为答案:D