0

当我运行我的应用程序时,它会启动 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 类,所以我不知道出了什么问题。

4

3 回答 3

1

我该如何更改才能使登录文件在启动时运行?

您并没有真正更改加载的 xml 文件,而是更改ActivityLauncher. 您可以在要更改的<activity>标签中执行此操作。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
    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>

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

显示的layout.xml内容取决于您Activity在 in 中使用的内容setContentView()。你可以改变它,但这可能不是你想要的。它可能不仅仅是你想要一个不同layout的,而是你想要LoginActivity在你的应用程序打开时启动,而不是MainActivity.

于 2013-08-30T19:25:46.147 回答
0

此代码导致启动活动

但它不属于活动类选择的 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>
于 2013-08-30T19:32:10.473 回答
0

你挪开

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

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

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

于 2013-08-30T19:26:25.023 回答