改变开始活动android

时间:2013-08-30 19:23:07

标签: android

当我运行我的应用程序时,它会启动activity_main.xml文件而不是login.xml文件。当我进入我的AndroidManifest时,我该怎么做才能使登录文件在启动时运行?提前致谢! 这是AndroidManifest:

    <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.dashboardactivity"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="18" />

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >


    <activity
        android:name="com.example.dashboardactivity.MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
   </application>


<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >
    <activity
        android:label="@string/app_name"
        android:name=".DashboardActivity" >
        <intent-filter >
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <!--  Login Activity -->
    <activity
        android:label="Login Account"
        android:name=".LoginActivity"></activity>

    <!--  Register Activity -->
    <activity
        android:label="Register New Account"
        android:name=".RegisterActivity"></activity>
</application>

<!-- Allow to connect with internet -->
<uses-permission android:name="android.permission.INTERNET" />

注意:编辑清单后如下所示:

    <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.dashboardactivity"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="18" />

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >


    <activity
        android:name="com.example.dashboardactivity.MainActivity"
        android:label="@string/app_name" >

    </activity>
   </application>


<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >
    <activity
        android:label="@string/app_name"
        android:name=".DashboardActivity" >

    </activity>

    <!--  Login Activity -->
    <activity
        android:label="Login Account"
        android:name=".LoginActivity">
         <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <!--  Register Activity -->
    <activity
        android:label="Register New Account"
        android:name=".RegisterActivity"></activity>
</application>

<!-- Allow to connect with internet -->
<uses-permission android:name="android.permission.INTERNET" />

当我立即运行应用程序时,我在控制台中收到此错误:

[2013-08-30 13:31:32 - DashboardActivity] Starting activity com.example.dashboardactivity.LoginActivity on device HT18YMA05067
[2013-08-30 13:31:32 - DashboardActivity] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.example.dashboardactivity/.LoginActivity }
[2013-08-30 13:31:32 - DashboardActivity] ActivityManager: Error type 3
[2013-08-30 13:31:32 - DashboardActivity] ActivityManager: Error: Activity class {com.example.dashboardactivity/com.example.dashboardactivity.LoginActivity} does not exist.

我创建了一个LoginActivity.java类,所以我不知道出了什么问题。

3 个答案:

答案 0 :(得分:1)

  

如何更改以使登录文件在启动时运行?

您并未真正更改已加载的xml文件,而是更改Activity Launcher。您可以在要更改的<activity>的{​​{1}}标记中执行此操作。就像你在这里一样

Activity

从该<activity android:label="@string/app_name" android:name=".DashboardActivity" > <intent-filter > <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> 标记中删除Intent filter并将其添加到<activity>

LoginActivity
  

当我运行我的应用程序时,它会启动activity_main.xml文件而不是login.xml文件。

显示的 <activity android:label="@string/app_name" android:name=".DashboardActivity" > </activity> <!-- Login Activity --> <activity android:label="Login Account" android:name=".LoginActivity"></activity> <intent-filter > <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> 取决于您在layout.xml Activity中使用的内容。你可以改变它,但这可能不是你想要的。它可能不是只是您想要一个不同的setContentView(),但是您希望layout在应用程序打开时启动,而不是LoginActivity

答案 1 :(得分:0)

你移动

        <intent-filter >
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>

首先要运行的活动,在这种情况下,登录。

答案 2 :(得分:0)

此代码导致启动活动

但它不属于Activity Classes选择的xml文件,你在活动中设置的xml(布局文件)将是打开的。

将此代码添加到您要开始的活动中,但它必须仅在一个活动的清单中出现一次

 <intent-filter >
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>

在您的情况下

  <!--  Login Activity -->
    <activity
        android:label="Login Account"
        android:name=".LoginActivity">
   <intent-filter >
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
</activity>