应用程序突然从错误的页面开始

时间:2011-02-01 19:52:23

标签: android

HY!

我刚刚在Manifest中添加了一个新的Class,一个新的Activitity,并在Main Class(s​​tart class)中添加了startActivityforResult。突然,应用程序以错误的活动开始

清单:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="android.skiptvad"
      android:versionCode="1"
      android:versionName="1.0">
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".Main"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".Login"/>
        <activity android:name=".NewAccount"/>
        <activity android:name=".Channellist"/>
        <activity android:name=".MainScreen"/>
    </application>
    <uses-permission android:name="android.permission.INTERNET"></uses-permission>
    <uses-sdk android:minSdkVersion="3" />

</manifest> 

主类:

public class Main extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //setContentView(R.layout.main);
       startActivityForResult(new Intent(Main.this, Login.class), 1);
       startActivityForResult(new Intent(Main.this, Channellist.class), 1);
       startActivityForResult(new Intent(Main.this, MainScreen.class), 1);
       //finish();
    }
}

应用程序从主屏幕开始,而不是登录。

请帮忙

2 个答案:

答案 0 :(得分:2)

连续多次调用startActivityForResult没有任何意义。相反,您应该开始Login活动。当该活动结束时,将调用[onActivityResult] [1]。然后,您可以开始下一个活动。

startActivityForResult的调用是异步的。这意味着,当您将其调用为Login时,它不会等待该活动完成,它会立即调用下一个活动,然后MainScreen。由于MainScreen是最后一个,因此获胜。

[1]:http://developer.android.com/reference/android/app/Activity.html#onActivityResult(int,int,android.content.Intent)

答案 1 :(得分:1)

您正在调用3个新活动,按顺序loginchannellistmainscreen。我认为你的意思是从登录开始,从那里开始主要的?

我认为没有必要在oncreate中调用3x startActivityForResult吗?