2017-06-20 43 views
1

我有一個相對的觀點與不同的圖像,每次我點擊一個圖像,我想要一個獨特的文字發送到另一個活動。我已經能夠實現這第一個圖像,但我不能得到第二個圖像發送文本到下一個活動。 我的第一個活動代碼:發送文字到新的活動

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

     }); 

    } 

我的第二個活動:

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

您正在獲得相同的密鑰'getStringExtra' – 0xDEADC0DE

+0

嘗試爲'intent.putExtra'使用相同的鍵。 –

回答

0

您基本上需要了解如何putExtra wor KS。

你可以用鍵來放一些值,例如

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

這裏,Amala是關鍵,foodName1.getText().toString()是值。

然後在您的下一個活動中,您可以從鍵中檢索值。

即你可以做,

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

b2ImageView點擊監聽,你提的關鍵fufu但在你的第二個活動,你越來越Amala

您需要爲所有點擊偵聽器保留公用密鑰,然後在第二個活動中從該密鑰中檢索數據。

+0

這非常有幫助,我所需要的只是瞭解putExtra如何工作 – tomiwa

1

您應該使用相同KEY

意圖putExtra(字符串名稱, Parcelable []值)

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

而且

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

intent.putExtra(String key, String value)是格式。

對所有putExtra功能的唯一密鑰,並使用該密鑰在getStringExtra

0

你需要保持公共密鑰所有點擊聽衆喜歡這種方式發送數據

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

    }); 

現在一次接收數據其他這樣的活動

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

發送一些文字形成一個活動到另一個活動 你可以簡單地使用putExtra()函數

putExtra(Sting Key, String value); 

讓說你有字符串變量

String str = "Hello"; 

後,當進入下一個下一個活動

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

當你想要這個變量在Your_Activity然後簡單地在onCreate()方法

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

您使用的密鑰是fufu。

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

所以u得到那麼值使用的key.so改變getStringExtra鍵更名 「阿瑪拉」 到 「富富」

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

使用此

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

訪問的意圖下一個活動

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