簡體   English   中英

將2個值從一個活動傳遞給另一個活動

[英]pass 2 values from one to another activity

我對android很新。 即時嘗試開發練習的登錄表單,我無法傳遞和顯示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);

您的問題是,當您第二次調用setContentView()時,您將從屏幕中刪除舊視圖。

嘗試將您的視圖添加到ViewGroup,如LinearLayout,然后將其添加到屏幕而不是單個視圖。

就像是:

LinearLayout ll = new LinearLayout(this);
ll.addView(userView);
ll.addView(passView);
setContentView(ll);

您只獲得第二個值,因為您正在設置視圖兩次..第二個值會覆蓋用戶名..

您可以改為使用addContentView ,或者創建一個包含2個文本視圖的xml並使用它。

使用另一種布局並在第二種布局中設置意圖值....

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM