将文字发送到新活动

时间:2017-06-20 09:46:33

标签: java android

每次点击图片时,我都会看到不同图像的相对视图,我希望将一个独特的文本发送到另一个活动。我已经能够为第一张图像实现这一点但我无法获得第二张图像将文本发送到下一个活动。 我的第一个活动的代码:

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

7 个答案:

答案 0 :(得分:2)

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

拥有所有putExtra个功能的唯一键,并在getStringExtra

中使用该键

答案 1 :(得分:1)

您应该使用相同的 KEY

  

Intent putExtra(String name,                   Parcelable [] value)

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

并且

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

答案 2 :(得分: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);

答案 3 :(得分:0)

您基本上需要了解putExtra的工作原理。

您可以为键添加一些值,例如

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

此处,Amala是关键,foodName1.getText().toString()是值。

然后在下一个活动中,您可以从密钥中检索值。

即。你能做到,

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

b2 ImageView的点击监听器中,您提到了密钥fufu,但在您的第二个活动中,您将获得Amala

您需要为所有点击侦听器保留公用密钥,然后在第二个活动中从该密钥检索数据。

答案 4 :(得分:0)

用于将一个文本发送到另一个活动的一个活动 你可以简单地使用putExtra()函数

putExtra(Sting Key, String value);

假设您有String变量

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

答案 5 :(得分:0)

你使用的密钥是fufu。

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

所以你得到的值然后使用那个key.so更改getStringExtra键名更改" amala"到" fufu"

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

答案 6 :(得分:0)

使用此

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

访问下一个活动的意图

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