2010-08-17 53 views
0

的Android 2.1更新1 的Eclipse 3.5我Acitivty不讀數據

我有一個問題,從我是從第一活動使用意圖稱爲第二次活動中讀取數據。我正確安裝了androidmanifest.xml。

我的第一個活動具有下面的代碼:

Intent myIntent = new Intent(MainMenu.this, Testmenu.class); myIntent.putExtra("com.tweaktool.MyAge",40); myIntent.putExtra("com.tweaktool.Enabled", false);
startActivity(myIntent);

我的第二個活動有以下代碼:

Bundle bun = getIntent().getExtras();
int myAge = bun.getInt("MyAge");
boolean enabled = bun.getBoolean("Enabled");

當我看到在第二活動上面的代碼它列出如下: enabled = false myAge = 0

爲什麼這樣做?我在做一些簡單的錯誤?

回答

0

您使用一個鍵(「com.tweaktool.MyAge」,「com.tweaktool.Enabled」)並嘗試與其他人(「MyAge」,「Enabled」)一起獲取數據 - 只是返回你默認值(0,false)。爲了得到你所用的東西,請使用你使用過的鍵。

+0

我終於明白了..謝謝.. – barakisbrown 2010-08-19 02:57:55

0

已嘗試過 int myAge = bun.getInt("com.tweaktool.MyAge");

+0

我想我有,但爲什麼我需要這樣做,如果bun.getBoolean(「啓用」)工作正常? – barakisbrown 2010-08-17 16:37:44

+0

我可能是完全錯誤的,但不是0默認值爲一個int就像false是默認值的布爾?我仍然在學習圍繞java的方式,但這是它在c#中的方式。我在猜測'bun.getBoolean(「Enabled」)'返回false,因爲這是一個布爾值的默認值,不是因爲它是你在意圖中放置的值。一種證明\反駁這種做法的方法是嘗試將「com.tweaktool.Enabled」的意圖變爲true,並查看「enabled」是否正確。 – 2010-08-17 17:59:33

+0

您有權使用默認值。但myage應該是40,因爲MyAge在第一個活動中被設置爲40,但其設置爲0而不是40. – barakisbrown 2010-08-17 18:12:16