在Eclipse中使用向导创建新的Android活动时,似乎必须创建新布局。每当我使用现有布局创建新的Android活动时,我必须创建一个虚拟布局,使用setContentView()更改onCreate()中的布局,然后删除虚拟布局。可以使用现有布局创建新的Android活动吗?
这样做的最好方法是什么?
在Eclipse中使用向导创建新的Android活动时,似乎必须创建新布局。每当我使用现有布局创建新的Android活动时,我必须创建一个虚拟布局,使用setContentView()更改onCreate()中的布局,然后删除虚拟布局。可以使用现有布局创建新的Android活动吗?
这样做的最好方法是什么?
编辑后的文章:如果你点击File> New> Other,你可以选择“Android> Android Activity”。 点击下一步,并填写正确的数据。如果您到达“预览”部分,则可以选择必须执行的更改。我调用了新的活动“SecondActivity”,这意味着布局文件将被称为“second_activity.xml”。如果您在列表中取消选中该文件,则不会创建该文件。然后,将您的setContentView更改为您想要的文件。
你太依赖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>
我并不是故意要傲慢自大。我想说的是了解巫师正在做什么,以便您可以重新创建它,而不是依靠它来为您做所有事情。如果你害怕编辑清单,那么这是你需要学习的东西。
您是否可以复制现有活动并将其作为新的活动粘贴到eclipse中而不是始终使用向导? –
如果我这样做,我将不得不手动修改AndroidManifest.xml。我觉得它不会更好。 – Hong
哦,我忘了那部分。 :-) –