gpt4 book ai didi

android - 来自标签的数据未正确传递到新 Activity

转载 作者:行者123 更新时间:2023-11-29 19:21:12 25 4
gpt4 key购买 nike

我有这个方法,它获取标签数据并将其发送到另一个 Activity。
当我在调试器中单步执行此方法时,我可以看到值是预期值。

public void ShowView(TextView tv, ImageView iv) {
Intent intent = new Intent(this, DisplaySeekAgain.class);
String text_tag = tv.getTag().toString();
String image_tag = iv.getTag().toString();
intent.putExtra(EXTRA_NAME, text_tag); //example: "Joe Brown"
intent.putExtra(EXTRA_IMAGE, image_tag); //example: "profilePic1"
startActivity(intent);

}

期望值很好:

  • text_tag:“乔·布朗”
  • image_tag: "profilePic1"

但是,在新的 Activity 中,text_tag 值变成了 image_tag 值。

public class DisplaySeekAgain extends AppCompatActivity {

private GoogleApiClient client;

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

Intent intent = getIntent();
String message = intent.getStringExtra(MainActivity.EXTRA_NAME); //example: "profilePic1"
String image = intent.getStringExtra(MainActivity.EXTRA_IMAGE); //example: "profilePic1"

预期值错误:

  • message = "profilePic1"
  • image = "profilePic1"

我不确定为什么“消息”字符串没有正确传过来。
我在我的代码中做的事情是否可能导致它?

最佳答案

putExtra 一次只允许您传递一个 String。您需要使用 Bundle 来允许将多个 String 传递给您的下一个 Activity。每次调用:

intent.putExtra(EXTRA_NAME, text_tag);
intent.putExtra(EXTRA_IMAGE, image_tag);

您正在用 intent.putExtra(EXTRA_IMAGE, image_tag); 覆盖 intent.putExtra(EXTRA_NAME, text_tag);

下面的代码应该可以解决这个问题。

public void ShowView(TextView tv, ImageView iv) {
String text_tag = tv.getTag().toString();
String image_tag = iv.getTag().toString();

Intent intent = new Intent(this, DisplaySeekAgain.class);
Bundle extras = new Bundle();
extras.putString(EXTRA_NAME, text_tag); //example: "Joe Brown"
extras.putString(EXTRA_IMAGE, image_tag); //example: "profilePic1"
intent.putExtras(extras);
startActivity(intent);

}


public class DisplaySeekAgain extends AppCompatActivity {

private GoogleApiClient client;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bundle extras = getIntent().getExtras();

String message = extras.getString(MainActivity.EXTRA_NAME); //example: "profilePic1"
String image = extras.getString(MainActivity.EXTRA_IMAGE); //example: "profilePic1"

关于android - 来自标签的数据未正确传递到新 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42426547/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com