Android - 在Eclipse中创建新活动

Hei*_*sis 18 eclipse android

容易一个.

我已经阅读了一些指南和教程,他们非常清楚如何开始一项活动(有意图).

但是,如何在Eclipse中创建新活动?我可以手动执行此操作,但随后我必须修改R自动生成的文件,并添加新的xml布局.

Sha*_*God 57

好.作为一个新手,我认为以上两个答案都在思考太多.他非常简单地询问如何在Eclipse中创建一个新活动.我认为这就是他想要的:

ActivityEclipse中的一个新实际上是一个Class.

你可以在Package Explorer的左侧双击'src',然后突出显示你的'com'.名称,右键单击,选择"新建",然后选择"类".输入Nameas NewActivity并设置Superclassandroid.app.Activity,然后单击Finish.

当NewActivity.java文件打开时,它应如下所示:

package com.example.yourappname;

import android.app.Activity;

public class NewActivity extends Activity {

}
Run Code Online (Sandbox Code Playgroud)

如果您愿意,可以Superclass留空并添加extends Activity到代码中.

最后一步是将Activity添加到您的Manifest.因此,双击AndroidManifest.xml将其打开,然后单击底部的"应用程序"选项卡.在"应用程序节点"框旁边,单击"添加".突出显示"活动"(带有大写字母A的方框),然后单击"确定".现在查找"活动属性"框并输入活动的名称,并在其前面加上一个句点.在这个例子中,你输入'.NewActivity'.

然后你可以添加你的onCreate()代码,使它看起来像这样:

public class NewActivity extends Activity {

     @Override
     public void onCreate(Bundle savedInstanceState) {         

        super.onCreate(savedInstanceState);    
        setContentView(R.layout.main_view);
        //rest of the code
    }
}
Run Code Online (Sandbox Code Playgroud)

main_view将是您main_view.xml在布局目录中创建的主视图xml文件.

要调用新的Activity,您Intent在代码中(在不同的Activity中)启动一个新的Activity外观,如下所示:

Intent startNewActivityOpen = new Intent(PresentActivity.this, NewActivity.class);
startActivityForResult(startNewActivityOpen, 0);
Run Code Online (Sandbox Code Playgroud)

就是这样,您可以使用代码调用新活动并创建它.我希望这可以帮助别人.

  • @ShadowGod这是一个很好的全面答案,但如果您使用Eclipse的"新建"向导,它将为您创建新的Activity类和布局,甚至将所需的条目添加到项目的AndroidManifest.xml文件中.这绝对是实现这一目标的最佳和最简单的方法. (2认同)

Ind*_*ity 22

我知道这是一个老问题,但我知道仍有人有同样的问题(我做到今天为止)

如果您向清单文件添加一个新活动,则会有一个特殊链接点击以自动创建新活动,并且已准备好填写onCreate()方法.

打开AndroidManifest.xml,然后转到"应用程序"选项卡.在"应用程序节点"下,找到并单击"添加"按钮.您可能会在顶层创建一个新元素,因此选择该选项,突出显示"活动",然后按确定.

创建活动后,转到"活动属性"并填写名称.填写完所需名称后,单击该字段旁边的蓝色"名称*"链接.将显示新文件向导,您只需按"确定"即可.

瞧!新活动,在清单中注册并作为随时可用的Java类.


Fla*_*ash 5

您可以通过扩展活动类来创建活动.创建活动类后,需要在androidmanifest文件中添加活动,指定活动的属性...

一个样本将是这样的......

<activity android:name=".JsonActivity" android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
Run Code Online (Sandbox Code Playgroud)

这里的动作表明它是首先启动的那个..

我不认为你需要修改R.java文件...一旦你在android清单文件中添加这些并保存它自动更新.你添加的东西,如布局,菜单,字符串,id's etcc ....在各种xml文件中也会自动更新...

如果我错了,请纠正我......