簡體   English   中英

將文本發送到新活動

[英]sending text to new activity

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

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

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

擁有所有putExtra函數的唯一鍵,並在getStringExtra使用該鍵

你應該使用相同的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);

您需要為所有點擊偵聽器保留公共密鑰,就像這樣發送數據一樣

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

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

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

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

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

然后在下一個活動中,您可以從密鑰中檢索值。

即你可以做到,

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

在你的b2 ImageView點擊監聽器中,你提到了關鍵的fufu但是在你的第二個活動中你得到的是Amala

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

用於將一個文本從一個活動發送到另一個活動您可以簡單地使用putExtra()函數

putExtra(Sting Key, String value);

假設你有String變量

String str = "Hello";

之后轉到下一個Next Activity

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

如果您想在Your_Activity中使用此變量,那么只需在onCreate()方法中

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

你使用的密鑰是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);

用這個

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

訪問意圖下一個活動

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM