2017-06-20 3 views
1

Ich habe eine relative Ansicht mit verschiedenen Bildern jedes Mal, wenn ich auf ein Bild klicke Ich möchte einen eindeutigen Text an eine andere Aktivität gesendet werden. Ich konnte dies für das erste Bild erreichen, aber ich kann das zweite Bild nicht bekommen, um den Text zur nächsten Aktivität zu senden. meinen Code für die erste Aktivität:Senden von Text an neue Aktivität

 b1 = (ImageView) findViewById(R.id.native_amala); 
     b2 = (ImageView) findViewById(R.id.native_fufu); 
     b3 = (ImageView) findViewById(R.id.native_jollof); 
     b4 = (ImageView) findViewById(R.id.native_ofada); 
     b5 = (ImageView) findViewById(R.id.native_porridge); 


     b1.setOnClickListener(new View.OnClickListener(){ 

      @Override 
      public void onClick(View view){ 

       TextView foodName1 = (TextView) findViewById(R.id.amala_text_view); 
       Intent intent = new Intent(NativeFoods.this,AddToCart.class); 
       intent.putExtra("Amala",foodName1.getText().toString()); 
       startActivity(intent); 
      } 

     }); 
     b2.setOnClickListener(new View.OnClickListener(){ 

      @Override 
      public void onClick(View view){ 

       TextView foodName1 = (TextView) findViewById(R.id.fufu_text_view); 
       Intent intent2 = new Intent(NativeFoods.this,AddToCart.class); 
       intent2.putExtra("fufu",foodName1.getText().toString()); 
       startActivity(intent2); 
      } 

     }); 

    } 

Meine zweite Aktivität:

protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_add_to_cart); 

     foodView = (TextView) findViewById(R.id.cart_item_text_view); 
     Intent intent = getIntent(); 
     String str = intent.getStringExtra("Amala"); 
     foodView.setText(str); 
+0

Sie erhalten den gleichen Schlüssel 'getStringExtra' – 0xDEADC0DE

+0

versuchen Sie, die gleichen Schlüssel für' intent.putExtra' zu verwenden. –

Antwort

0

Sie müssen im Grunde verstehen, wie putExtra wor ks.

Sie können einen Wert mit Schlüsseln setzen, z.

intent.putExtra("Amala",foodName1.getText().toString()); 

Hier Amala ist der Schlüssel und foodName1.getText().toString() ist der Wert.

Dann in Ihrer nächsten Aktivität können Sie den Wert von Schlüssel abrufen.

heißt Sie tun können,

String str = intent.getStringExtra("Amala"); 

In Ihrem Klick Zuhörer von b2ImageView, sind zu erwähnen Sie den Schlüssel fufu aber in Ihrer zweiten Aktivität sind Sie Amala bekommen.

Sie müssen den gemeinsamen Schlüssel für alle Klick-Listener beibehalten und dann Daten aus diesem Schlüssel in der zweiten Aktivität abrufen.

+0

das war sehr hilfreich, alles was ich brauchte war zu verstehen, wie putExtra funktioniert – tomiwa

1

sollten Sie verwenden Same KEY.

Intent putExtra (String name, Parcel [] Wert)

intent2.putExtra("value",foodName1.getText().toString()); 

Und

Bundle bundle=getIntent().getExtras(); 
String str=bundle.getString("value"); 
foodView.setText(str); 
2

intent.putExtra(String key, String value) ist das Format.

Haben Sie einen eindeutigen Schlüssel für alle putExtra Funktionen und verwenden diesen Schlüssel in getStringExtra

0

Sie müssen wie auf diese Weise für alle Klick Zuhörer gemeinsamen Schlüssel zu halten, Daten senden

b1.setOnClickListener(new View.OnClickListener(){ 

     @Override 
     public void onClick(View view){ 

      TextView foodName1 = (TextView) findViewById(R.id.amala_text_view); 
      Intent intent = new Intent(NativeFoods.this,AddToCart.class); 
      intent.putExtra("data",foodName1.getText().toString()); 
      startActivity(intent); 
     } 

    }); 
    b2.setOnClickListener(new View.OnClickListener(){ 

     @Override 
     public void onClick(View view){ 

      TextView foodName1 = (TextView) findViewById(R.id.fufu_text_view); 
      Intent intent2 = new Intent(NativeFoods.this,AddToCart.class); 
      intent2.putExtra("data",foodName1.getText().toString()); 
      startActivity(intent2); 
     } 

    }); 

jetzt Forde e Daten in andere activty wie diese

foodView = (TextView) findViewById(R.id.cart_item_text_view); 
    Intent intent = getIntent(); 
    String str = intent.getStringExtra("data"); 
    foodView.setText(str); 
0

für einige Textform eine Aktivität auf eine andere Tätigkeit Senden Sie können einfach verwenden putExtra() Funktion

putExtra(Sting Key, String value); 

Lassen Sie sagen, Sie haben String-Variable

String str = "Hello"; 

wenn Nachdem zum nächsten Nächstes Aktivität gehen

Intent Intent = new Intent(getApllicationContext(),Your_Activity.class); 
intent.putExtra("Hello"); 
startActivity(intent); 

Wenn Sie diese Variable möchten Your_Activity dann einfach in onCreate() -Methode

Intent intent = getIntent(); 
String str = intent.getStringExtra("Hello"); 
0

Sie mit der Taste ist Fufu.

intent2.putExtra("fufu",foodName1.getText().toString()); 

So erhalten u der Wert verwendet, dann, dass key.so getStringExtra Schlüsselnamensänderung "amala" "Fufu"

dieses auf

Intent intent = new Intent(getBaseContext(), NextActivity.class); 
intent.putExtra("VALUES", someValues); 
startActivity(intent); 

Zugang dass Vorsatz

foodView = (TextView) findViewById(R.id.cart_item_text_view); 
     Intent intent = getIntent(); 
     String str = intent.getStringExtra("fufu"); 
     foodView.setText(str); 
0

Verwendung ändern nächste Aktivität

String s = getIntent().getStringExtra("VALUES"); 
Verwandte Themen