2013-06-30 56 views
1

在Eclipse中使用嚮導創建新的Android活動時,似乎必須創建新佈局。每當我使用現有佈局創建新的Android活動時,我必須創建一個虛擬佈局,使用setContentView()更改onCreate()中的佈局,然後刪除虛擬佈局。可以使用現有佈局創建新的Android活動嗎?

這樣做的最好方法是什麼?

+1

您是否可以複製現有活動並將其作爲新的活動粘貼到eclipse中而不是始終使用嚮導? –

+0

如果我這樣做,我將不得不手動修改AndroidManifest.xml。我覺得它不會更好。 – Hong

+0

哦,我忘了那部分。 :-) –

回答

1

編輯後的文章:如果你點擊File> New> Other,你可以選擇「Android> Android Activity」。 點擊下一步,並填寫正確的數據。如果您到達「預覽」部分,則可以選擇必須執行的更改。我調用了新的活動「SecondActivity」,這意味着佈局文件將被稱爲「second_activity.xml」。如果您在列表中取消選中該文件,則不會創建該文件。然後,將您的setContentView更改爲您想要的文件。

+0

是的,這正是我正在尋找的。每次我創建文件時,我都覺得很糟糕,然後刪除它。 – Hong

+0

我已經嘗試了兩次,儘管沒有選中它,嚮導仍然會創建一個新的佈局文件。我想知道它是否是一個錯誤。 – Hong

0

你太依賴eclipse巫師了。成爲程序員。右鍵單擊包添加新的「類」給它一個名字。擴展活動。覆蓋onCreate方法。在設置內容視圖中,使用已創建的佈局。 祝你好運,快樂的編碼。

編輯:這裏有確切的說明

右鍵單擊你的包。點擊新建。選擇類。

爲班級命名,點擊確定。

package com.example.fakeapp; 

public class FakeActivity { 

} 

現在擴展Activity添加onCreate和onCreateOptionsMenu使用您在設置內容視圖中需要的佈局。

package com.example.fakeapp; 

import android.app.Activity; 
import android.os.Bundle; 
import android.view.Menu; 

public class FakeActivity extends Activity{ 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.other_activity); //use whatever layout you want. 
    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.main, menu); 
     return true; 
    } 
} 

添加到標籤之間的清單不要忘記在你的res/strings中創建標題。

<activity 
     android:name="com.example.fakeapp.Fakeactivity" 
     android:label="@string/title_activity_fakeactivity" > 
    </activity> 

我並不是故意要傲慢自大。我想說的是瞭解巫師正在做什麼,以便您可以重新創建它,而不是依靠它來爲您做所有事情。如果你害怕編輯清單,那麼這是你需要學習的東西。

+1

他不想丟失清單更新的設施。你的回答有點傲慢。 –

+0

你爲什麼不能自己更新清單。添加活動非常簡單。您可以避免創建額外的垃圾佈局,然後不得不刪除它。 – doubleA

+0

感謝您的詳細說明。我的目的是要找到使用現有佈局創建新活動的最快和最有力的方法。 – Hong

相關問題