2011-02-01 22 views
1

Hy!アプリケーションが突然間違ったページで始まる

新しいクラスを追加しました。マニフェストに新しいアクティビティを追加し、メインクラス(開始クラス)に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(); 
    } 
} 

アプリではなく、ログインのメイン画面から始まります。

あなたは順序loginchannellistmainscreenに、3つの新しい活動を呼び出している

答えて

2

startActivityForResultを複数回連続して呼び出すことは意味がありません。代わりに、Loginのアクティビティを開始するだけです。そのアクティビティが終了すると、[onActivityResult] [1]が呼び出されます。その後、次のアクティビティを開始できます。

startActivityForResultの呼び出しは非同期です。つまり、現在のところ、ログインのために呼び出すと、そのアクティビティが完了するのを待たずにすぐに次のアクティビティが呼び出され、次にMainScreenが呼び出されます。 MainScreenが最後ですので勝ちます。

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

1

助けてください。私はあなただけのログインを開始することを意味し、そこからメインを開始すると思いますか?

oncreateで3x startActivityForResultを呼び出す必要はありませんか?

関連する問題