java - 使用 bundle 在 Activity 之间传输数据

标签 java android android-intent bundle

我正在尝试在 android 中的两个 Activity 之间传输一些数据。我需要传输一个整数值和一个列表。当我尝试在第二个 Activity 中检索我的值时,它们是空值。我不确定它是否应该在 onCreate() 方法中

这是发送数据的代码。

public void Start(View view) {
        Intent goToNextActivity = new Intent(getApplicationContext(), MainActivity.class);
        Bundle bundle = new Bundle();
        bundle.putParcelableArrayList("topics", (ArrayList<? extends Parcelable>) topicsList);
        bundle.putInt("num_players", num_players);
        startActivity(goToNextActivity);

    }

这是检索数据的代码。

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Bundle extras = getIntent().getExtras();
        num_player = extras.getInt("num_players");
        topics_list = extras.getIntegerArrayList("topics");
    }

我收到一个 NullPointerException

[ERROR] java.lang.NullPointerException: Attempt to invoke virtual method 'int android.os.Bundle.getInt(java.lang.String)' on a null object reference

做我想做的事情的正确方法是什么?

最佳答案

你忘了把你的包放入你的 Intent 中

goToNextActivity.putExtra("bunlde",bundle)

或者你可以不使用 bundle,只需将你的数据放入 intent 中

关于java - 使用 bundle 在 Activity 之间传输数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57741327/

相关文章:

java - Blackberry 的 SimpleDateFormat 线程安全吗?

java - android开发的屏幕分辨率有多大问题

java - 是否可以在 AtomicBoolean 包含所需值之前阻塞线程?

java - 如何使用 ClassLoader 加载 txt 文件?

android - 如何在 Activity 之间切换时显示进度条

android - 编辑文本价格

android - Google Play 结算 - sku android.test.purchased 的签名验证失败

android - 面子书 ://profile/{userid} seems to be not working

android - 为 ShareActionProvider 构建动态 Intent

android - IntentService是否有可能在使用它的Activity之前被杀死?