0

こんにちは、送信ボタンをクリックしてログ猫にテキストを表示すると、ユーザーからユーザー名とパスワードを受け取る単純なAndroidアプリケーションを作成しました。

ただし、挿入したテキストが Logcat で次のように表示される理由がわかりません。

06-28 14:58:49.061: W/username(858): android.widget.EditText{40cf7a68 VFED..CL ......I. 54,82-264,122 #7f080001 app:id/txtUsername}

06-28 14:58:49.061: W/パスワード (858): android.widget.EditText{40d02f60 VFED..CL .F....I. 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());
        }
    });
 }
}

この問題の原因は何ですか?

4

2 に答える 2

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オブジェクトの文字列表現を返します。

于 2013-06-28T15:19:58.333 に答える
0

username.toString() は、ユーザーが入力したテキストではなく、username という名前の textview インスタンスの文字列表現を返します。これには username.getText() が必要です

お役に立てれば...

于 2013-06-28T15:21:35.853 に答える