2017-06-20 41 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");