当我为我的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所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)