在Android活动中出现nullPointerException,不知道为什么以及如何解决它

在Android活动中出现nullPointerException,不知道为什么以及如何解决它,android,nullpointerexception,android-activity,runtime-error,logcat,Android,Nullpointerexception,Android Activity,Runtime Error,Logcat,我正试着编写一个小Tictatcoe游戏。现在我到了一个点,它抛出了一个nullPointerException,我无法解释。有人能帮忙吗 代码主要活动: package de.android.pali; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import and

我正试着编写一个小Tictatcoe游戏。现在我到了一个点,它抛出了一个nullPointerException,我无法解释。有人能帮忙吗

代码主要活动:

    package de.android.pali;

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

    public class TicTacToeMenu extends Activity {

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

    final Button createGame = (Button)findViewById(R.id.newGameButton);

    final Intent newGame = new Intent(TicTacToeMenu.this, newGame.class);

    createGame.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {

            startActivity(newGame);


        }
    });


}


}
第二项活动代码:

package de.android.pali;

import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageButton;
import android.widget.TextView;

public class newGame extends TicTacToeMenu{

int turn = 1;
int[] felder = new int[9];
TextView ergebnis = (TextView)findViewById(R.id.winners);

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.game);

    final ImageButton feld1 = (ImageButton)findViewById(R.id.feld1);
    final ImageButton feld2 = (ImageButton)findViewById(R.id.feld2);
    final ImageButton feld3 = (ImageButton)findViewById(R.id.feld3);
    final ImageButton feld4 = (ImageButton)findViewById(R.id.feld4);
    final ImageButton feld5 = (ImageButton)findViewById(R.id.feld5);
    final ImageButton feld6 = (ImageButton)findViewById(R.id.feld6);
    final ImageButton feld7 = (ImageButton)findViewById(R.id.feld7);
    final ImageButton feld8 = (ImageButton)findViewById(R.id.feld8);
    final ImageButton feld9 = (ImageButton)findViewById(R.id.feld9);




    feld1.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {


            if(turn==1){
            feld1.setBackgroundResource(R.drawable.kreis);
            turn = 0;
            felder[0] = 1;
            }
            else{
                feld1.setBackgroundResource(R.drawable.kreuz);
                turn = 1;
                felder[0] = 0;
            }
        }


    });

    feld2.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {

            if(turn==1){
                feld2.setBackgroundResource(R.drawable.kreis);
                turn = 0;
                felder[1] = 1;
                }
                else{
                        feld2.setBackgroundResource(R.drawable.kreuz);
                    felder[1] = 0;
                }
        }
    });

    feld3.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            if(turn==1){
                feld3.setBackgroundResource(R.drawable.kreis);
                turn = 0;
                felder[2] = 1;
                }
                else{
                    feld3.setBackgroundResource(R.drawable.kreuz);
                    turn = 1;
                    felder[2] = 0;
                };

        }
    });

    feld4.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {

            if(turn==1){
                feld4.setBackgroundResource(R.drawable.kreis);
                turn = 0;
                felder[3] = 1;
                }
                else{
                    feld4.setBackgroundResource(R.drawable.kreuz);
                    felder[3] = 0;
                }

        }
    });

    feld5.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {

            if(turn==1){
                feld5.setBackgroundResource(R.drawable.kreis);
                turn = 0;
                felder[4] = 1;
                }
                else{
                    feld5.setBackgroundResource(R.drawable.kreuz);
                    turn = 1;
                    felder[4] = 0;
                }

        }
    });

    feld6.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {

            if(turn==1){
                feld6.setBackgroundResource(R.drawable.kreis);
                turn = 0;
                felder[5] = 1;
                }
                else{
                    feld6.setBackgroundResource(R.drawable.kreuz);
                    turn = 1;
                    felder[5] = 0;
                }

        }
    });

    feld7.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {

            if(turn==1){
                feld7.setBackgroundResource(R.drawable.kreis);
                turn = 0;
                felder[6] = 1;
                }
                else{
                    feld7.setBackgroundResource(R.drawable.kreuz);
                    turn = 1;
                    felder[6] = 0;
                }

        }
    });

    feld8.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {

            if(turn==1){
                feld8.setBackgroundResource(R.drawable.kreis);
                turn = 0;
                felder[7] = 1;
                }
                else{
                    feld8.setBackgroundResource(R.drawable.kreuz);
                    turn = 1;
                    felder[7] = 0;
                }

        }
    });

    feld9.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {

            if(turn==1){
                feld9.setBackgroundResource(R.drawable.kreis);
                turn = 0;
                felder[8] = 1;
                }
                else{
                    feld9.setBackgroundResource(R.drawable.kreuz);
                    turn = 1;
                    felder[8] = 0;
                }

        }
    });


}

public int getTurn() {
    int whois = turn;
    return whois;
}

public void checkWinner(){
    if(felder[0]==1 & felder[1]==1 & felder[2]==1){
        ergebnis.setText(R.string.kreuz);

    }else
    { }

}
}
日志:

    11-13 12:26:55.579: I/ActivityManager(88): START {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=de.android.pali/.TicTacToeMenu} from pid 772
11-13 12:26:55.589: W/WindowManager(88): Failure taking screenshot for (180x300) to layer 21005
11-13 12:26:55.629: D/AndroidRuntime(772): Shutting down VM
11-13 12:26:55.639: D/dalvikvm(772): GC_CONCURRENT freed 101K, 77% free 485K/2048K, paused 1ms+1ms
11-13 12:26:55.649: D/dalvikvm(772): Debugger has detached; object registry had 1 entries
11-13 12:26:55.659: D/dalvikvm(782): Not late-enabling CheckJNI (already on)
11-13 12:26:55.669: I/AndroidRuntime(772): NOTE: attach of thread 'Binder Thread #3' failed
11-13 12:26:55.719: I/ActivityManager(88): Start proc de.android.pali for activity de.android.pali/.TicTacToeMenu: pid=782 uid=10045 gids={}
11-13 12:26:55.948: W/NetworkManagementSocketTagger(88): setKernelCountSet(10045, 1) failed with errno -2
11-13 12:26:56.449: I/Process(88): Sending signal. PID: 782 SIG: 3
11-13 12:26:56.449: I/dalvikvm(782): threadid=3: reacting to signal 3
11-13 12:26:56.569: I/dalvikvm(782): Wrote stack traces to '/data/anr/traces.txt'
11-13 12:26:56.819: D/gralloc_goldfish(782): Emulator without GPU emulation detected.
11-13 12:26:56.868: I/ActivityManager(88): Displayed de.android.pali/.TicTacToeMenu: +1s263ms (total +37s914ms)
11-13 12:26:57.088: W/NetworkManagementSocketTagger(88): setKernelCountSet(10009, 0) failed with errno -2
11-13 12:27:00.828: I/ActivityManager(88): START {cmp=de.android.pali/.newGame} from pid 782
11-13 12:27:00.838: W/WindowManager(88): Failure taking screenshot for (180x300) to layer 21010
11-13 12:27:00.868: D/AndroidRuntime(782): Shutting down VM
11-13 12:27:00.868: W/dalvikvm(782): threadid=1: thread exiting with uncaught exception (group=0x409c01f8)
11-13 12:27:00.889: E/AndroidRuntime(782): FATAL EXCEPTION: main
11-13 12:27:00.889: E/AndroidRuntime(782): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{de.android.pali/de.android.pali.newGame}: java.lang.NullPointerException
11-13 12:27:00.889: E/AndroidRuntime(782):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1880)
11-13 12:27:00.889: E/AndroidRuntime(782):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
11-13 12:27:00.889: E/AndroidRuntime(782):  at android.app.ActivityThread.access$600(ActivityThread.java:123)
11-13 12:27:00.889: E/AndroidRuntime(782):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
11-13 12:27:00.889: E/AndroidRuntime(782):  at android.os.Handler.dispatchMessage(Handler.java:99)
11-13 12:27:00.889: E/AndroidRuntime(782):  at android.os.Looper.loop(Looper.java:137)
11-13 12:27:00.889: E/AndroidRuntime(782):  at android.app.ActivityThread.main(ActivityThread.java:4424)
11-13 12:27:00.889: E/AndroidRuntime(782):  at java.lang.reflect.Method.invokeNative(Native Method)
11-13 12:27:00.889: E/AndroidRuntime(782):  at java.lang.reflect.Method.invoke(Method.java:511)
11-13 12:27:00.889: E/AndroidRuntime(782):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
11-13 12:27:00.889: E/AndroidRuntime(782):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
11-13 12:27:00.889: E/AndroidRuntime(782):  at dalvik.system.NativeStart.main(Native Method)
11-13 12:27:00.889: E/AndroidRuntime(782): Caused by: java.lang.NullPointerException
11-13 12:27:00.889: E/AndroidRuntime(782):  at android.app.Activity.findViewById(Activity.java:1794)
11-13 12:27:00.889: E/AndroidRuntime(782):  at de.android.pali.newGame.<init>(newGame.java:13)
11-13 12:27:00.889: E/AndroidRuntime(782):  at java.lang.Class.newInstanceImpl(Native Method)
11-13 12:27:00.889: E/AndroidRuntime(782):  at java.lang.Class.newInstance(Class.java:1319)
11-13 12:27:00.889: E/AndroidRuntime(782):  at android.app.Instrumentation.newActivity(Instrumentation.java:1023)
11-13 12:27:00.889: E/AndroidRuntime(782):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1871)
11-13 12:27:00.889: E/AndroidRuntime(782):  ... 11 more
11-13 12:27:00.929: W/ActivityManager(88):   Force finishing activity de.android.pali/.newGame
11-13 12:27:00.929: W/ActivityManager(88):   Force finishing activity de.android.pali/.TicTacToeMenu
11-13 12:27:01.359: I/Process(88): Sending signal. PID: 782 SIG: 3
11-13 12:27:01.359: I/dalvikvm(782): threadid=3: reacting to signal 3
11-13 12:27:01.379: I/dalvikvm(782): Wrote stack traces to '/data/anr/traces.txt'
11-13 12:27:01.439: W/ActivityManager(88): Activity pause timeout for ActivityRecord{415b08b0 de.android.pali/.newGame}
11-13 12:27:01.439: I/Process(88): Sending signal. PID: 782 SIG: 3
11-13 12:27:01.439: I/dalvikvm(782): threadid=3: reacting to signal 3
11-13 12:27:01.459: I/dalvikvm(782): Wrote stack traces to '/data/anr/traces.txt'
11-13 12:27:01.488: W/NetworkManagementSocketTagger(88): setKernelCountSet(10009, 1) failed with errno -2
11-13 12:27:01.748: W/NetworkManagementSocketTagger(88): setKernelCountSet(10045, 0) failed with errno -2
11-13 12:27:02.169: I/Process(782): Sending signal. PID: 782 SIG: 9
11-13 12:27:02.178: I/ActivityManager(88): Process de.android.pali (pid 782) has died.
11-13 12:27:02.178: W/InputDispatcher(88): channel '415c53c8 de.android.pali/de.android.pali.TicTacToeMenu (server)' ~ Consumer closed input channel or an error occurred.  events=0x8
11-13 12:27:02.178: E/InputDispatcher(88): channel '415c53c8 de.android.pali/de.android.pali.TicTacToeMenu (server)' ~ Channel is unrecoverably broken and will be disposed!
11-13 12:27:02.189: I/WindowManager(88): WIN DEATH: Window{415c53c8 de.android.pali/de.android.pali.TicTacToeMenu paused=true}
11-13 12:27:02.189: W/InputDispatcher(88): Attempted to unregister already unregistered input channel '415c53c8 de.android.pali/de.android.pali.TicTacToeMenu (server)'
11-13 12:27:02.199: I/WindowManager(88): WINDOW DIED Window{415c53c8 de.android.pali/de.android.pali.TicTacToeMenu paused=true}
11-13 12:27:02.359: W/InputManagerService(88): Got RemoteException sending setActive(false) notification to pid 782 uid 10045
11-13 12:27:11.749: W/ActivityManager(88): Activity destroy timeout for  ActivityRecord{415a28b8 de.android.pali/.TicTacToeMenu}
11-13 12:27:11.749: W/ActivityManager(88): Activity destroy timeout for ActivityRecord{415b08b0 de.android.pali/.newGame}
11-13 12:26:55.579:I/ActivityManager(88):从pid 772开始{act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER]flg=0x10000000 cmp=de.android.pali/.tictactoemu}
11-13 12:26:55.589:W/WindowManager(88):拍摄(180x300)至21005层的故障截图
11-13 12:26:55.629:D/AndroidRuntime(772):关闭虚拟机
11-13 12:26:55.639:D/dalvikvm(772):GC_并发释放101K,77%释放485K/2048K,暂停1ms+1ms
11-13 12:26:55.649:D/dalvikvm(772):调试器已分离;对象注册表有1个条目
11-13 12:26:55.659:D/dalvikvm(782):启用CheckJNI(已启用)不迟
11-13 12:26:55.669:I/AndroidRuntime(772):注意:连接螺纹“粘合剂螺纹#3”失败
11-13 12:26:55.719:I/ActivityManager(88):为activity de.android.pali/.TicTacToeMenu启动proc de.android.pali:pid=782 uid=10045 gids={}
11-13 12:26:55.948:W/NetworkManagementSocketTagger(88):setKernelCountSet(10045,1)失败,错误号为-2
11-13 12:26:56.449:I/进程(88):发送信号。PID:782信号:3
11-13 12:26:56.449:I/dalvikvm(782):线程ID=3:对信号3作出反应
11-13 12:26:56.569:I/dalvikvm(782):将堆栈跟踪写入“/data/anr/traces.txt”
11-13 12:26:56.819:D/gralloc_金鱼(782):未检测到GPU仿真的仿真器。
11-13 12:26:56.868:I/ActivityManager(88):显示de.android.pali/.TicTacToeMenu:+1s263ms(总计+37s914ms)
11-13 12:26:57.088:W/NetworkManagementSocketTagger(88):setKernelCountSet(10009,0)失败,错误号为-2
11-13 12:27:00.828:I/ActivityManager(88):从pid 782启动{cmp=de.android.pali/.newGame}
11-13 12:27:00.838:W/WindowManager(88):拍摄(180x300)至21010层的故障截图
11-13 12:27:00.868:D/AndroidRuntime(782):关闭虚拟机
11-13 12:27:00.868:W/dalvikvm(782):threadid=1:线程以未捕获异常退出(组=0x409c01f8)
11-13 12:27:00.889:E/AndroidRuntime(782):致命异常:main
11-13 12:27:00.889:E/AndroidRuntime(782):java.lang.RuntimeException:无法实例化活动组件信息{de.android.pali/de.android.pali.newGame}:java.lang.NullPointerException
11-13 12:27:00.889:E/AndroidRuntime(782):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1880)
11-13 12:27:00.889:E/AndroidRuntime(782):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
11-13 12:27:00.889:E/AndroidRuntime(782):在android.app.ActivityThread.access$600(ActivityThread.java:123)
11-13 12:27:00.889:E/AndroidRuntime(782):在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
11-13 12:27:00.889:E/AndroidRuntime(782):在android.os.Handler.dispatchMessage(Handler.java:99)上
11-13 12:27:00.889:E/AndroidRuntime(782):在android.os.Looper.loop(Looper.java:137)上
11-13 12:27:00.889:E/AndroidRuntime(782):位于android.app.ActivityThread.main(ActivityThread.java:4424)
11-13 12:27:00.889:E/AndroidRuntime(782):位于java.lang.reflect.Method.Invokenactive(本机方法)
11-13 12:27:00.889:E/AndroidRuntime(782):位于java.lang.reflect.Method.invoke(Method.java:511)
11-13 12:27:00.889:E/AndroidRuntime(782):在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
11-13 12:27:00.889:E/AndroidRuntime(782):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
11-13 12:27:00.889:E/AndroidRuntime(782):在dalvik.system.NativeStart.main(本机方法)
11-13 12:27:00.889:E/AndroidRuntime(782):由以下原因引起:java.lang.NullPointerException
11-13 12:27:00.889:E/AndroidRuntime(782):在android.app.Activity.findViewById(Activity.java:1794)
11-13 12:27:00.889:E/AndroidRuntime(782):在de.android.pali.newGame.(newGame.java:13)
11-13 12:27:00.889:E/AndroidRuntime(782):位于java.lang.Class.newInstanceImpl(本机方法)
11-13 12:27:00.889:E/AndroidRuntime(782):位于java.lang.Class.newInstance(Class.java:1319)
11-13 12:27:00.889:E/AndroidRuntime(782):在android.app.Instrumentation.newActivity(Instrumentation.java:1023)上
11-13 12:27:00.889:E/AndroidRuntime(782):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1871)
11-13 12:27:00.889:E/AndroidRuntime(782):。。。还有11个
11-13 12:27:00.929:W/ActivityManager(88):强制完成activity de.android.pali/.newGame
11-13 12:27:00.929:W/ActivityManager(88):强制完成activity de.android.pali/.TicTacToeMenu
11-13 12:27:01.359:I/进程(88):发送信号。PID:782信号:3
11-13 12:27:01.359:I/dalvikvm(782):线程ID=3:对信号3作出反应
11-13 12:27:01.379:I/dalvikvm(782):将堆栈跟踪写入“/data/anr/traces.txt”
11-13 12:27:01.439:W/ActivityManager(88):ActivityRecord{415b08b0 de.android.pali/.newGame}的活动暂停超时
11-13 12:27:01.439:I/进程(88):发送信号。PID:782信号:3
11-13 12:27:01.439:I/dalvikvm(782):threadid=3:对信号3作出反应
11-13 12:27:01.459:I/dalvikvm(782):将堆栈跟踪写入“/data/anr/traces.txt”
11-13 12:27:01.488:W/NetworkManagementSocketTagger(88):setKernelCountSet(10009,1)失败,错误号为-2
11-13 12:27:01.748:W/NetworkManagementSocketTagger(88):setKernelCountSet(10045,0)失败,错误号为-2
11-13 12:27:02.169:I/进程(782):发送信号。PID:782信号:9
11-13 12:27:02.178:I/ActivityManager(88):进程de.android.pali(pid 782)已死亡。
11-13 12:27:02.178:W/InputDispatcher(88):通道“415c53c8 de.android.pali/de.android.pali.TicTacToeMenu(服务器)”~消费者关闭输入通道或发生错误。事件=0x8
11-13 12:27:02.178:E/InputDispatcher(88):频道“415c53c8 de.android.pali/de.android.pali.TicTacToeMenu(服务器)”~频道无法恢复,将被处理!
11-13 12:27:02.189:I/WindowManager(88):赢得死亡:窗口{415c53c8 de.android.pali/de
TextView ergebnis = (TextView)findViewById(R.id.winners);
11-13 12:27:00.889: E/AndroidRuntime(782):  at de.android.pali.newGame.<init>(newGame.java:13)
feld1.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
....