-2

したがって、私のアプリはシンプルです。メイン画面で、タブを使用して別のアクティビティを起動するボタンをクリックする必要がありますが、ボタンをクリックすると、アクティビティが起動せず、次のエラーが表示されます: Source Not Found with this log :

Thread [<3> main] (Suspended (exception RuntimeException))  
    <VM does not provide monitor information>   
    ActivityThread.performLaunchActivity(ActivityThread$ActivityRecord, Intent) line: 2503  
    ActivityThread.handleLaunchActivity(ActivityThread$ActivityRecord, Intent) line: 2519   
    ActivityThread.access$2200(ActivityThread, ActivityThread$ActivityRecord, Intent) line: 123 
    ActivityThread$H.handleMessage(Message) line: 1870  
    ActivityThread$H(Handler).dispatchMessage(Message) line: 99 
    Looper.loop() line: 123 
    ActivityThread.main(String[]) line: 4370    
    Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) line: not available [native method]  
    Method.invoke(Object, Object...) line: 521  
    ZygoteInit$MethodAndArgsCaller.run() line: 868  
    ZygoteInit.main(String[]) line: 626 
    NativeStart.main(String[]) line: not available [native method]  

mainActivity は次のとおりです: Bienvenue.java:

public class Bienvenue extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_bienvenue);
    Button b = (Button) findViewById(R.id.button1);
    b.setOnClickListener(new View.OnClickListener(){
        public void onClick(View arg0) {
             // here i call new screen;
             Intent i = new Intent(Bienvenue.this, Histoire.class);
             startActivity(i);
             } 
    });

}

マニフェストの一部を次に示します。

<activity android:name=".Splash" android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.category.MAIN" />

            <category android:name="android.intent.category.LUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".Bienvenue" android:exported="false" android:label="@string/app_name">
        <intent-filter>
            <action android:name="com.maghribouna.amine.ters.Bienvenue" />

            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>
    <activity android:name=".Histoire" android:exported="false" android:label="@string/app_name">

    </activity>

他のコードを追加する理由が見当たらないので、エラーはこれらに含まれている必要があります!

4

2 に答える 2

1

ここに問題があります

<activity android:name=".Splash" android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.category.MAIN" />



   **<category android:name="android.intent.category.LUNCHER" />**


  </intent-filter>
</activity>

これは

    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
             // Launcher!
        <category android:name="android.intent.category.LAUNCHER" />
于 2012-12-26T16:59:43.560 に答える
0
final Button button1 = (Button) findViewById(R.id.buttonIdName);
button1.setOnClickListener(new OnClickListener() {
    public void onClick(View v) {
        startActivity(new Intent(Activity1.this, Activity2.class));
    }
});

これは、アクティビティを切り替えるために使用するコードです。ボタンは、アクティビティのレイアウト xml で設定された ID を使用する必要があります (これは R.java で参照されます)。ボタン ID が「buttonStart」の場合は、findViewById() がその名前を使用していることを確認してください。

問題がそれよりも深刻な場合は、いくつかのコードが最適です。

編集:これを試してください:

public class Bienvenue extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_bienvenue);

    final Button b = (Button) findViewById(R.id.button1);
    b.setOnClickListener(new OnClickListener(){
        public void onClick(View v) {
            startActivity(new Intent(Bienvenue.this, Histoire.class));
        } 
    });

}
于 2012-12-26T16:42:03.597 に答える