微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法从 Intent 获得正确的值

如何解决无法从 Intent 获得正确的值

我正在尝试将一个整数值传递给另一个活动,但我不知道为什么它不起作用。我有一个 Spinner,可以在其中选择视图选项。我想将所选项目的值与 String/long 进行比较。我尝试通过 getSelectedItem() 获取 long 值并将其传递到这样的 Intent 中:

Intent intent = new Intent(AddItem.this,Overview.class);
intent.putExtra("typeOfEvent",spinner.getSelectedItemId());
startActivity(intent);

现在在 Overview 类中,我添加了以下代码

Intent intent = new Intent();
System.out.println(intent.getLongExtra("typeOfEvent",0));

打印出来的值总是 0。为什么? 我也用字符串尝试过:

spinner.setonItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parent,View view,int position,long id) {
            SpinnerItems clickedItem = (SpinnerItems) parent.getItemAtPosition(position);
            String typeOfEvent = clickedItem.getTypeOfEvent();

Intent intent = new Intent();
intent.putExtra("typeOfEvent",typeOfEvent);

然后再次在概览类中:

Intent intent = new Intent();
System.out.println(intent.getStringExtra("typeOfEvent"));

这将返回一个空值。

我也用 recyclerview 试过这个,效果很好。情况更大,但我认为问题不取决于其他代码。如果您需要更多代码/信息,请告诉我!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。