您好我刚刚编写了一个简单的Android应用程序,它确实收到了用户名&单击提交按钮并在日志cat中显示文本时用户的密码。
然而我不知道为什么我插入的文本在Logcat中显示如下:
06-28 14:58:49.061:W /用户名(858):android.widget.EditText {40cf7a68 VFED..CL ......我。 542-264,122#7f080001 app:id / txtUsername}
06-28 14:58:49.061:W / password(858):android.widget.EditText {40d02f60 VFED..CL .F ....我。 54,190-264,230#7f080003 app:id / txtPassword}
如果你需要这里的代码是我的代码:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btnLogin = (Button) findViewById(R.id.btnLogin);
final EditText username = (EditText) findViewById(R.id.txtUsername);
final EditText password = (EditText) findViewById(R.id.txtPassword);
btnLogin.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Log.w("username", username.toString());
Log.w("password", password.toString());
}
});
}
}
什么可能导致这个问题?
答案 0 :(得分:5)
您应该使用EditText.getText().toString()
btnLogin.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Log.w("username", username.getText().toString());
Log.w("password", password.getText().toString());
}
});
EditText().toString
返回对象的字符串表示。
答案 1 :(得分:0)
username.toString()返回名为username的textview实例的字符串表示形式,而不是用户输入的文本。为此,您需要username.getText()
希望这会有所帮助......