0

私はAndroid開発を学んでいます。ボタン(id:button1)で構成される単純なレイアウトを作成しました。このボタンにOnClickListenerを追加しました。クリックすると、次のページ(レイアウト)が表示されます。コードにエラーはないようですが、実行するとクラッシュするだけです。android 2.3.3および2.2エミュレーターを使用して試しましたが、成功しませんでした。onclicklistenerの部分をコメントアウトすると、アプリが実行されます。さまざまなサイトや質問を検索しましたが、成功しませんでした。これがJavaコードです:

package com.sid.next;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class mySplash extends Activity {
    /** Called when the activity is first created. */

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        final Button b1 = (Button)findViewById(R.id.button1);
        b1.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                startActivity(new Intent("com.sid.next.SHOWMENU"));
            }
        });

    }
}

編集1: スタックトレース

Edit2: main.xml

Edit3:[解決済み!]myMenu.javaアクティビティにcontentviewが設定されていませんでした。とにかく、ありがとう!

edit4:android.R.id.button1R.id.button1に変更しました

4

5 に答える 5

1

交換

 final Button b1 = (Button)findViewById(android.R.id.button1);

に:

 final Button b1 = (Button)findViewById(R.id.button1);

つまり、android.RRに置き換えます。

于 2012-05-11T09:26:44.613 に答える
1

わかった。だからついに私はそれを自分で理解しました!myMenu.javaクラスにcontentViewを設定していません。

また、android.R.id.button1R.id.button1に変更しました。(クレジット:Imran Rana)

みんなありがとう!

于 2012-05-12T07:00:30.517 に答える
0

がアクティビティの場合SHOWMENUは、マニフェストファイルで宣言します。

与えられたデータによると、これはあなたの選択肢が残っていると思います。

<activity
        android:name=".SHOWMENU"
        android:label="@string/app_name" />

ファイルの<application > </application>タグ内に追加しますAndroidManifest.xml

xmlにコピーして貼り付けるだけです

<application
    android:icon="@drawable/icon"
    android:label="@string/app_name" >
    <activity
        android:name="com.sid.next.SHOWMENU"
        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="com.sid.next.SHOWMENU"
        android:label="@string/app_name" />
</application>
于 2012-05-11T07:26:00.150 に答える
0

このようにRathterの呼び出しアクティビティ

startActivity(new Intent("com.sid.next.SHOWMENU"));

この方法を試してください

Intent g = new Intent(new Intent(mySplash .this, SHOWMENU.class));
            startActivity(g);
于 2012-05-11T07:44:47.557 に答える
0

これを試して

Intent i = new Intent(new Intent(CURRENT_SCREEN_NAME.this, NEXT_SCREEN_NAME.class));
startActivity(i);

アクティビティの下のマニフェストにこれを書くことを忘れないでください。

<activity android:name=".NEXT_SCREEN_NAME" ></activity>
于 2012-05-11T07:53:36.550 に答える