2015-01-15 5 views
1

dialogBuilder.setMessage은 아무것도 표시하지 않습니다! 마치 null 문자열을 나타내는 것처럼. 그러나, newUserPasswordnewPassworddialogBuilder.setMessage가 비어 있습니다.

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



enter image description here

답변

2

이을 시도해보십시오 글고 치기를 통해 사용자로부터 새로운 입력으로 업데이트됩니다

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

예! 그것은 효과가 있었다 : D –

+0

기꺼이 도울 수 있었다. 답을 다른 사람에게 도움이 될 수 있도록 표시해주십시오. –

+0

up-vote는 상처를주지는 않지만 '대답을 표시'한다는 것은 내가 본 눈금을 클릭하는 것을 의미합니다. :) 다른 문제를 설명하는 질문을 게시하십시오. 가능한 경우, 나는 분명히 도울 것입니다. –

관련 문제