[英]Null Pointer Exception while using putExtra and getExtras
我正在嘗試使用 putExtra 和 getExtras 在我正在編寫的 android 游戲中傳遞一些信息(這是一個分數)。 當我傳遞它時,我在一個 class 中使用此代碼來輸入信息:
Intent winScreen = new Intent(context, WinScreen.class);
winScreen.putExtra("score", "123");
當我得到它時,我正在使用:
Intent x=new Intent(this, GameCall.class);
Bundle ebundle = x.getExtras();
String score = (String) x.getExtras().getSerializable("score");
我現在只是想用一個樣本分數進行測試,所以我認為正確設置值不是問題所在。 這就是我在其他地方看到的關於為什么會出現這樣的 null 指針的建議。 我知道它將“分數”理解為額外的。 所以我對信息丟失的地方感到困惑!
當您使用Intent
啟動一個新的 Activity 時,您必須使用getIntent()
來獲取該 Intent 的特定實例。 使用Intent x=new Intent(this, GameCall.class);
不會工作。 試試下面的代碼:
Intent x= this.getIntent(); //in the WinScreen activity
String score = (String) x.getStringExtra("score");
使用Intent.getExtras()
返回一個Bundle
,它是您之前使用 Intent 添加到 Intent 中的Intent. putExtras()
Intent. putExtras()
方法。 要簡單地將字符串添加到 Intent,請使用Intent.putExtra(String tag, String value)
並使用Intent.getStringExtra(String tag)
獲取它。 我自己多次犯過這個錯誤; 這不是很人性化xD
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.