通过活动传递价值

时间:2019-06-02 09:47:23

标签: java android android-intent

我制作了一些应用程序,您可以使用它创建帐户,并且可以传递用户名和他的密码,尽管可以顺利通过用户名和密码,但是我不能传递密码,它是数字密码edittext视图,我知道,就像程序读取该值,但不会将其传递给另一个活动。

第一个活动,设置并读取密码,一切正常,直到那里:

     public void nowekonto(View view){
    final Intent intent1 = new Intent(this, MainActivity.class);
    Intent intent4 = new Intent(this, proszenieohaslo.class );
    EditText nazwauzytkownika = findViewById(R.id.nazwauz);
    EditText haslonum = findViewById(R.id.edithaslo);//numeric password 
    String haslo1 = haslonum.getText().toString();
    String nazwa1 = nazwauzytkownika.getText().toString();
    Toast zapisano = Toast.makeText(context, haslo1, toastduration);
    zapisano.show();//shows the password typed in edittext
    intent1.putExtra("nazwauz", nazwa1);//this gets passed normally
    intent4.putExtra("haslouz1", haslo1);//probably doesn't pass here 

第二次应通过密码的活动:

  Intent intent2 = new Intent(this, stronaglowna.class);
    Intent intent4 = getIntent();
    EditText haslo = findViewById(R.id.proszenieohaslo);
    String haslopodane = haslo.getText().toString();
    String haslozapisane = getIntent().getStringExtra("haslouz1");// no value

2 个答案:

答案 0 :(得分:0)

intent1.putExtra("haslouz1", haslo1);

使用您的intent1代替intent4。您只能使用一种意图来启动活动和传输数据。我假设您使用intent1来启动活动,但是您将密码放入了intent4中,该密码不用于启动任何活动。

答案 1 :(得分:0)

您只需要1个意图即可传递值。

源活动:

    Intent intent = new Intent(this, SourceActivity.class);
    intent.putExtra("username","nazwa1");
    intent.putExtra("password","haslo1");
    startActivity(intent);

目标活动(在onCreate内):

    userName = getIntent().getStringExtra("username");
    passWord = getIntent().getStringExtra("password");

Start another activity documentation