3

私はアンドロイドに非常に新しいです。練習用のログインフォームを開発しようとしていますが、2つの値を別のアクティビティに渡して表示できません

Intent intent = new Intent(this, Success.class);
        EditText edituser = (EditText) findViewById(R.id.userinput);
        EditText editpass= (EditText) findViewById(R.id.passinput);
        String username = edituser.getText().toString();
        String password = editpass.getText().toString();

        intent.putExtra(EXTRA_USER, username);
        intent.putExtra(EXTRA_PASSWORD, password);
        startActivity(intent);

対象となる活動は

 Intent intent = getIntent();
    String username = intent.getStringExtra(MainActivity.EXTRA_USER);
    String password = intent.getStringExtra(MainActivity.EXTRA_PASSWORD);

    // Create the text view
    TextView userView = new TextView(this);
    TextView passView = new TextView(this);
    userView.setTextSize(40);
    userView.setText(username);

    passView.setTextSize(40);
    passView.setText(password);

    // Set the text view as the activity layout
    setContentView(userView);
    setContentView(passView);
4

3 に答える 3

5

問題はsetContentView()、2回目の呼び出し時に、画面から古いビューを削除することです。

個々のビューではなく、LinearLayoutのようにビューをViewGroupに追加してから、それを画面に追加してみてください。

何かのようなもの:

LinearLayout ll = new LinearLayout(this);
ll.addView(userView);
ll.addView(passView);
setContentView(ll);
于 2013-01-17T11:11:12.310 に答える
3

ビューを2回設定しているため、2番目の値のみを取得しています。2番目の値はユーザー名をオーバーライドします。

代わりに使用addContentViewするか、2つのテキストビューを含むxmlを作成して使用することができます。

于 2013-01-17T11:11:10.690 に答える
1

別のレイアウトを使用し、2番目のレイアウトでインテント値を設定します。

setContentView(R.layout.anotherlayout);

TextView user = (TextView) findViewById(R.id.usertext);
TextView pass= (TextView) findViewById(R.id.passtext);

Intent intent = getIntent();
String username = intent.getStringExtra(MainActivity.EXTRA_USER);
String password = intent.getStringExtra(MainActivity.EXTRA_PASSWORD);

user.setText(username);
pass.setText(password);
于 2013-01-17T11:14:35.690 に答える