单击按钮将数据传递给新的 Activity

Passing Data to a new Activity on a Button Click

我是 Android Studio 的新手,发现自己陷入了这个概念。我试图在按下按钮(添加到购物车)时将价格 + 名称数据传递到购物车 activity。

在尝试 intent 方法后,似乎在按下 "Add to Cart" 后,购物车打开了数据,但数据没有保存在新的 activity 中以供更多添加。

现在我有以下内容:

 Button button = (Button) findViewById(R.id.addcart);
    button.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            //How to pass information here
        }
    });

我希望将 textView6 和 textView7 传递到购物车 activity。如果可能的话,我也有兴趣传递图像!对此的任何开始将不胜感激。谢谢!

创建 Intent 时,您必须执行以下操作:

Intent i = new Intent(this, ToClass.class);
i.putExtra("someName", findViewById(R.id.textView6 ).getText().toString());
i.putExtra("someName2", findViewById(R.id.textView7 ).getText().toString());
startActivity(i); 

然后在你的第二个 Activity 中,使用:

Intent intent = getIntent();
String someName= intent.getStringExtra("someName");
String someName2= intent.getStringExtra("someName2");

你说你使用了一个意图,但是你用这些值做什么?您是否将它们保存在 CartActivity 的某处?

对于图片,只需传递图片的引用或名称。无需传递整个 PNG...并再次使用 intent putExtra() 调用。

要通过活动传递数据,您可以使用与打开新 activity 相同的意图。您可以像这样设置附加功能:

Intent i = new Intent(context, CartActivity.class);
i.putExtra("price", textView6.getText().toString());
i.putExtra("name", textView7.getText().toString());
startActivity(i);

然后在刚刚创建的 activity 的 onCreate() 中,您可以检索此数据,获取用于打开此 activity 的意图并获取其额外内容:

@Override
protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);

   Intent data = getIntent();
   String price = data.getStringExtra("price");
   String name = data.getStringExtra("name");
}

希望对您有所帮助。