2012-08-05 54 views
0

Android開發新手,想知道是否有某種方式讓用戶輸入來創建活動?例如,說用戶正在經歷建立自己的個人資料的過程。其中一個問題是「你有多少寵物?」。用戶輸入「4」,然後點擊「下一步」按鈕(打開下一個活動)。Java到XML Android

如何讓用戶輸入「4」在下一個活動中創建四個editText對象,以便用戶現在可以輸入他/她的寵物的名稱?

我是一個好的程序員(雖然從未碰過XML),所以你不需要深入細節我只是不知道如何訪問這個變量來創建四個editText對象。從我發現的情況來看,不能在運行時向資源添加字符串,甚至不能在資源中編輯/追加文件。

我正在考慮從java編寫一個XML文件,並使活動(用XML編寫)讀取XML文件,如果這甚至可能? XML文件可以讀取XML文件嗎?

+0

嘗試先閱讀文檔http://developer.android.com/reference/android/content/Intent.html。它非常容易訪問,你只需要閱讀它。 – overbet13 2012-08-05 14:13:29

回答

0

此無關的XML

用戶的輸入將被存儲在像一串不同的數據類型。如果你需要加載一個新的活動,你可以做的一件事是在android類型中傳遞信息。

您使用intent數據類型開始新的活動。該intent數據類型有putExtra方法,在那裏你可以把變量英寸

後您startActivity(yourIntent)新的活動可以調用Bundle並具有與getIntent()

關聯的被叫getExtra方法,這些應該引導你至少

+0

謝謝,但我知道這一切。它的動態佈局我正在尋找 – user1577433 2012-08-05 14:24:16

0

意圖。

String 1 = et.getText().toString(); 
String 2 = et.getText().toString(); 
String 3 = et.getText().toString(); 
String 4 = et.getText().toString(); 

Intent i = new Intent(this, newclass.class). 
i.putExtras("key1", 1); 

//等等。

//然後你得到的數據。

bundle extras = i.getExtras(); 
string temps1 = extras.getString("key1", null); 

此處瞭解詳情:http://developer.android.com/reference/android/content/Intent.html

+0

謝謝,但我知道這一切。尋找動態佈局 – user1577433 2012-08-05 14:24:51

+0

我不知道你的意思,那麼你能解釋更多嗎?通過你的場景,你希望從配置文件類到名稱類有四個對象,這就是你如何做到的;你能澄清一些嗎? – TheBlueCat 2012-08-05 14:50:54

0

什麼你問的是不是真正的活動創造,而是佈局的創建。正如你已經知道的,Android允許你使用xml定義一個佈局,並且Activities有一個簡單的方法來調用它來設置基於這個xml的內容視圖。佈局不需要在xml中定義;他們可以通過編程創建。

當你開始一個活動時,你爲它創建了一個Intent,並且你可以爲這個意圖添加「額外」通過這樣做,您可以將參數傳遞到您的活動中,並可以使用這些參數作爲如何構建佈局的提示。

對程序佈局做一些研究(http://mylifewithandroid.blogspot.com/2007/12/xml-and-programmatic-layout.html可能有所幫助),你可能會弄清楚你需要知道什麼。

+0

這聽起來很像我需要做的。我已經知道通過Intent傳遞額外信息。所以我只會創建沒有XML的佈局,然後 – user1577433 2012-08-05 14:21:57

+0

我很高興能夠提供幫助。如果您覺得我的帖子對您​​有所幫助,請點擊旁邊的勾號接受它。謝謝,祝你好運。 – mah 2012-08-05 14:29:48

0

你可以在意圖的幫助下傳遞數據(在你的情況下用戶輸入)。 您可以使用putExtra發送數據。 Here is good tutorial for you

對於動態佈局,您可以膨脹當前佈局並將控件添加到當前視圖。用於動態佈局this is good tutorial to refer

我希望這兩個教程能幫助你。

+0

乾杯動態佈局是我一直在尋找的 – user1577433 2012-08-05 14:24:35

+0

我希望我的回答能幫助你解決你的問題:) – rajpara 2012-08-05 14:29:40