android–Boolean在调用getExtra时将自身重置为false

android–Boolean在调用getExtra时将自身重置为false,第1张

概述当我为我的isDeleted布尔值调用getExtras.getBoolean(key)时,它会将自己设置为false,即使我传入true也是如此.有关为何发生这种情况的任何见解?我已经尝试了很多其他方法,但没有成功保持布尔值为TRUE.其他活动:publicvoiddeleteWorkout(Viewview){intent.putE

当我为我的isDeleted布尔值调用getExtras.getBoolean(key)时,它会将自己设置为false,即使我传入true也是如此.有关为何发生这种情况的任何见解?我已经尝试了很多其他方法,但没有成功保持布尔值为TRUE.

其他活动:

   public voID deleteWorkout(VIEw vIEw)    {        intent.putExtra("Listposition", intent.getExtras().getInt("position"));        intent.putExtra("isDeleted", true);        setResult(RESulT_OK, intent);        finish();    }

主要活动:

case(List): {                if(resCode == Activity.RESulT_OK)                {                    boolean isDeleted = intent.getExtras().getBoolean("isDeleted");                    int Listposition = intent.getExtras().getInt("Listposition");                    if(isDeleted)                    {                        adapter.remove(workoutList.get(Listposition));                        adapter.notifyDataSetChanged();                    }                }            }            default:                break;            }

解决方法:

有两种方法可以解决这个问题,并了解为什么可能在将来再次为您节省头痛.

putExtras与putExtra不同.
那有什么区别?

putExtras将期望传入一个bundle.使用此方法时,您需要使用以下方法将数据拉回:

getIntent().getExtras().getBoolean("isDeleted");

putExtra将期望(在您的情况下)字符串名称和布尔值.使用此方法时,您需要使用以下方法将数据拉回:

getIntent.getBooleanExtra("isDeleted", false); // false is the default

你正在使用两者的混合,这意味着你试图从你实际没有设置的束中获取一个布尔值,所以它使用默认值(false).

总结

以上是内存溢出为你收集整理的android – Boolean在调用getExtra时将自身重置为false全部内容,希望文章能够帮你解决android – Boolean在调用getExtra时将自身重置为false所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1114878.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存