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