天天看點

Java -Android 學習(第四天)

添加新的Activity

   我們已經了解到一個Activity就相當于是一個界面(當然了,這樣說并不嚴格,但易于了解)。

     當我們建立一個安卓應用程式之後,就預設建立了:

     ①、一個繼承Activity的Class(該類會實作父類的Oncreate方法并setContentView(R.layout.activity_main));

     ②、一個預設的布局檔案(res-layout檔案夾下);

     ③、一個<activity></activity>節點(安卓應用程式清單(AndroidManifest)中<application></application>節點下,有一個對應的<activity></activity>節點).

     然而,Android程式,一般都要有一個以上的界面,那麼如何添加一個新的界面呢?

     通過上面的分析,其實我們也能大概知道要做哪些準備工作了:

   ①、建立一個布局檔案(在res-layout檔案夾下);

     ②、建立新的Class繼承Activity(實作Oncreate方法,跟剛才建立的XML布局檔案關聯上);

   ③、在AndroidManifest.xml中添加新Activity節點來描述①、②

         具體操作:将AndroidManifest檔案,切換到Application視圖下,在視圖下面的Application Nodes欄中,Add一個新的Activity就可以了; 或者,如果熟練的話,直接在AndroidManifest.XML視圖下,添加<activity/>節點,看個人習慣。

Android 兩個界面中控件同一個Id

       在第一天中已經知道:“gen:為ADT插件自動生成的代碼檔案儲存路徑,裡面的R.java将儲存所有的資源ID”

所有的資源都映射到R.java裡面。

       我們在通路資源View的時候,經常是這樣做:

 setContentView(R.layout.activity_login);或者userid = (EditText) findViewById(R.id.userId);

都是通過R.java 檔案找到相應資源的。

      這時候,如果兩個不同的布局檔案中的控件擁有相同的Id,會是什麼樣子呢?在使用、操作這些控件的時候會不會出現什麼問題呢?

   事實上:

    相同檔案下如果控件id相同是不允許的,eclipse會報錯的,如果不是同在一個布局檔案中的話就可以,findviewbyid ()找的那個id是你前面用setContentView(R.layout.*)中的xml檔案中的id。

盡管是這樣,但是最好是在定義Id的時候,能夠區分開為好。清晰易維護。欽此。