2017-08-21 9 views
-2

私は1つのアクティビティからedittextの値を取得し、それを送信してその値を別のアクティビティで受け取ろうとしています。しかし、私は値を得ることができません。値を入力した直後に受信アクティビティを開いているわけではありません。私はログイン後にその活動を開始しています。私は1つのアクティビティから別のアクティビティに値を渡すことができません

MainActivity.java

を次のようにコードがある
    Toast.makeText(MainActivity.this, "Successful Registration", Toast.LENGTH_SHORT).show(); 
        Intent i = new Intent(MainActivity.this, Login_Activity.class); 


        String name,mobile; 
        name = Username.getText().toString(); 
        mobile = Usermob.getText().toString(); 


        Bundle i2 = new Bundle(); 
        i2.putString("uname", name); 
        i2.putString("unumber",mobile); 
        i.putExtras(i2); 
        startActivity(i); 
        /*Toast.makeText(MainActivity.this, "captcha not match", Toast.LENGTH_SHORT).show();*/ 

referralPage.java

    package com.mws.tms_application; 

        import android.content.Intent; 
        import android.os.Bundle; 
        import android.support.v7.app.AppCompatActivity; 
        import android.widget.EditText; 
        import android.widget.TextView; 

        public class referralPage extends AppCompatActivity { 


         @Override 
         protected void onCreate(Bundle savedInstanceState) { 
          super.onCreate(savedInstanceState); 
          setContentView(R.layout.activity_referral_page); 




          // MainActivity mn=new MainActivity(); 
          TextView tv= (TextView) findViewById(R.id.referralcode); 
          EditText ed1= (EditText) findViewById(R.id.username_edtext); 
          EditText ed2= (EditText) findViewById(R.id.usermob_no_edtext); 

          Intent intent = getIntent(); 
          /* String name = intent.getExtras().getString("uname"); 
          String mobile = intent.getExtras().getString("unumber");*/ 

        /* 
          name=ed1.getText().toString(); 
          name=name.substring(0,3); 
          number=ed2.getText().toString(); 
          number=number.substring(7,9);*/ 
          Bundle bundle = getIntent().getExtras(); 
          System.out.print("INtent called"); 
          if (bundle != null) { 
           String name = bundle.getString("uname"); 
           System.out.print("INtent runned"); 
           tv.setText(name/*+bundle.getExtras().getString("unumber")*/); 
          } 
          else{ 
           tv.setText("Your referral code"); 
          } 


          // tv.setText(new StringBuilder().append(name).append(mobile).toString()); 
         } 
        } 
+0

Intent i = new Intent(MainActivity.this, Login_Activity.class); 

を交換してください。 –

+1

LoginActivityに送信したバンドルは、そこから開かれているためにのみreferralPageアクティビティでは使用できません。もちろん、referralPageアクティビティを開くためのコードを追加してください。 –

答えて

0

今、別の受信データがこの

String name,mobile; 
name = Username.getText().toString(); 
mobile = Usermob.getText().toString(); 

Intent i = new Intent(MainActivity.this, Login_Activity.class); 
i.putExtra("name", name); 
i.putExtra("mobile", mobile); 
startActivity(i); 

のようにデータを送信してみてくださいこのような活動は

String name = getIntent().getExtras().getString("name"); 
String mobile = getIntent().getExtras().getString("mobile"); 
0

コードにアクティビティ名が正しくありません。データを渡すアクティビティーの名前を指定する必要があります。ここでは、 "Login_Activity.java"を開始するためのインテントを作成し、データ処理コードは "referralPage.java"で作成しました。

あなたが入るレシーバーアクティビティを開いていないと言うとき、どこがあなたのMainActivityにこのコードを入れている

Intent i = new Intent(MainActivity.this, referralPage.class); 
関連する問題