Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android nullPointerException错误_Java_Android_Eclipse_Nullpointerexception_Onkeydown - Fatal编程技术网

Java Android nullPointerException错误

Java Android nullPointerException错误,java,android,eclipse,nullpointerexception,onkeydown,Java,Android,Eclipse,Nullpointerexception,Onkeydown,Eclipse在我的代码中没有发现错误,但当我尝试在模拟器上运行应用程序时,它会打开,然后立即崩溃。Logcat给了我一个模糊的nullPointerException错误。我可以注释掉onKeyDown方法,然后它就可以正常运行了。但当然,我不能使用后退键返回,它只会关闭应用程序 我的代码如下: import android.app.Activity; import android.graphics.Color; import android.os.Bundle; import android

Eclipse在我的代码中没有发现错误,但当我尝试在模拟器上运行应用程序时,它会打开,然后立即崩溃。Logcat给了我一个模糊的nullPointerException错误。我可以注释掉onKeyDown方法,然后它就可以正常运行了。但当然,我不能使用后退键返回,它只会关闭应用程序

我的代码如下:

import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.ViewFlipper;

public class MainActivity extends Activity {
static String[] items = {"Campaign", "Multiplayer", "Zombies"};

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

        ListView listView = (ListView) findViewById(R.id.listview);
        final ViewFlipper viewflipper = (ViewFlipper)   findViewById(R.id.viewflipper1);
        listView.setAdapter(new BaseAdapter(){
            public int getCount() {
            return items.length;
            }
            public Object getItem(int position) {
            return items[position];
            }
            public long getItemId(int position) {
            return position;
            }
            public View getView(int position, View convertView, ViewGroup parent) {
                LayoutInflater inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
                View view = inflater.inflate(R.layout.list_row, null);
                TextView textView = (TextView) view.findViewById(R.id.TextView01);
                textView.setText(items[position]);
                textView.setTextColor(Color.rgb(255,106,0));
                textView.setTextSize(24);
                TextView textView1 = (TextView) findViewById(R.id.textView1);
                textView1.setTextColor(Color.rgb(255,106,0));
            return view;
            }});

            listView.setOnItemClickListener(new OnItemClickListener(){
              public void onItemClick(AdapterView<?> a, View v, int position, long id) {
                 if (position == 0) {
                     viewflipper.showNext();
                 }if (position == 1) {
                     viewflipper.showNext();
                     viewflipper.showNext();
                 }if (position == 2) {
                     viewflipper.showNext();
                     viewflipper.showNext();
                     viewflipper.showNext();
                 }}   

        });    

    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;  
    }

    ViewFlipper viewflipper = (ViewFlipper) findViewById(R.id.viewflipper1);

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event)  {
        if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
             if(viewflipper.getDisplayedChild() == 0){
                 viewflipper.showPrevious();
              }if(viewflipper.getDisplayedChild() == 1){
                 viewflipper.showPrevious();
                 viewflipper.showPrevious();
              }if(viewflipper.getDisplayedChild() == 2){
                 viewflipper.showPrevious();
                 viewflipper.showPrevious();
                 viewflipper.showPrevious();
              }
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }

};
01-21 11:38:46.151: E/AndroidRuntime(760): FATAL EXCEPTION: main

01-21 11:38:46.151: E/AndroidRuntime(760): java.lang.RuntimeException: Unable to instantiate activity 
ComponentInfo{com.example.blackopsiiexperience/com.example.blackopsiiexperience.MainActivity}: java.lang.NullPointerException

01-21 11:38:46.151: E/AndroidRuntime(760):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2106)

01-21 11:38:46.151: E/AndroidRuntime(760):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)

01-21 11:38:46.151: E/AndroidRuntime(760):  at android.app.ActivityThread.access$600(ActivityThread.java:141)

01-21 11:38:46.151: E/AndroidRuntime(760):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)

01-21 11:38:46.151: E/AndroidRuntime(760):  at android.os.Handler.dispatchMessage(Handler.java:99)

01-21 11:38:46.151: E/AndroidRuntime(760):  at android.os.Looper.loop(Looper.java:137)

01-21 11:38:46.151: E/AndroidRuntime(760):  at android.app.ActivityThread.main(ActivityThread.java:5039)

01-21 11:38:46.151: E/AndroidRuntime(760):  at java.lang.reflect.Method.invokeNative(Native Method)

01-21 11:38:46.151: E/AndroidRuntime(760):  at java.lang.reflect.Method.invoke(Method.java:511)

01-21 11:38:46.151: E/AndroidRuntime(760):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)

01-21 11:38:46.151: E/AndroidRuntime(760):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)

01-21 11:38:46.151: E/AndroidRuntime(760):  at dalvik.system.NativeStart.main(Native Method)

01-21 11:38:46.151: E/AndroidRuntime(760): Caused by: java.lang.NullPointerException

01-21 11:38:46.151: E/AndroidRuntime(760):  at android.app.Activity.findViewById(Activity.java:1839)

01-21 11:38:46.151: E/AndroidRuntime(760):  at com.example.blackopsiiexperience.MainActivity.<init>(MainActivity.java:73)

01-21 11:38:46.151: E/AndroidRuntime(760):  at java.lang.Class.newInstanceImpl(Native Method)

01-21 11:38:46.151: E/AndroidRuntime(760):  at java.lang.Class.newInstance(Class.java:1319)

01-21 11:38:46.151: E/AndroidRuntime(760):  at android.app.Instrumentation.newActivity(Instrumentation.java:1054)

01-21 11:38:46.151: E/AndroidRuntime(760):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2097)

01-21 11:38:46.151: E/AndroidRuntime(760):  ... 11 more


Any suggestions?
导入android.app.Activity;
导入android.graphics.Color;
导入android.os.Bundle;
导入android.view.KeyEvent;
导入android.view.LayoutInflater;
导入android.view.Menu;
导入android.view.view;
导入android.view.ViewGroup;
导入android.widget.AdapterView;
导入android.widget.AdapterView.OnItemClickListener;
导入android.widget.BaseAdapter;
导入android.widget.ListView;
导入android.widget.TextView;
导入android.widget.ViewFlipper;
公共类MainActivity扩展了活动{
静态字符串[]项={“活动”、“多人”、“僵尸”};
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ListView ListView=(ListView)findViewById(R.id.ListView);
最终ViewFlipper ViewFlipper=(ViewFlipper)findViewById(R.id.viewflipper1);
setAdapter(新的BaseAdapter(){
public int getCount(){
返回项目。长度;
}
公共对象getItem(int位置){
退货项目[位置];
}
公共长getItemId(int位置){
返回位置;
}
公共视图getView(int位置、视图转换视图、视图组父视图){
LayoutFlater充气机=(LayoutFlater)getSystemService(布局充气机服务);
视图=充气机。充气(R.layout.list\u行,空);
TextView TextView=(TextView)view.findViewById(R.id.TextView01);
textView.setText(项目[位置]);
setTextColor(Color.rgb(255106,0));
textView.setTextSize(24);
TextView textView1=(TextView)findViewById(R.id.textView1);
textView1.setTextColor(Color.rgb(255106,0));
返回视图;
}});
setOnItemClickListener(新的OnItemClickListener(){
公共视图单击(适配器视图a、视图v、内部位置、长id){
如果(位置==0){
viewflipper.showNext();
}如果(位置==1){
viewflipper.showNext();
viewflipper.showNext();
}如果(位置==2){
viewflipper.showNext();
viewflipper.showNext();
viewflipper.showNext();
}}   
});    
}
@凌驾
公共布尔onCreateOptions菜单(菜单){
getMenuInflater().充气(R.menu.activity\u主菜单);
返回true;
}
ViewFlipper ViewFlipper=(ViewFlipper)findViewById(R.id.viewflipper1);
@凌驾
公共布尔onKeyDown(int-keyCode,KeyEvent事件){
if(keyCode==KeyEvent.keyCode\u BACK&&event.getRepeatCount()==0){
if(viewflipper.getDisplayedChild()==0){
viewflipper.showPrevious();
}if(viewflipper.getDisplayedChild()==1){
viewflipper.showPrevious();
viewflipper.showPrevious();
}if(viewflipper.getDisplayedChild()==2){
viewflipper.showPrevious();
viewflipper.showPrevious();
viewflipper.showPrevious();
}
返回true;
}
返回super.onKeyDown(keyCode,event);
}
};
我的日志如下:

import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.ViewFlipper;

public class MainActivity extends Activity {
static String[] items = {"Campaign", "Multiplayer", "Zombies"};

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

        ListView listView = (ListView) findViewById(R.id.listview);
        final ViewFlipper viewflipper = (ViewFlipper)   findViewById(R.id.viewflipper1);
        listView.setAdapter(new BaseAdapter(){
            public int getCount() {
            return items.length;
            }
            public Object getItem(int position) {
            return items[position];
            }
            public long getItemId(int position) {
            return position;
            }
            public View getView(int position, View convertView, ViewGroup parent) {
                LayoutInflater inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
                View view = inflater.inflate(R.layout.list_row, null);
                TextView textView = (TextView) view.findViewById(R.id.TextView01);
                textView.setText(items[position]);
                textView.setTextColor(Color.rgb(255,106,0));
                textView.setTextSize(24);
                TextView textView1 = (TextView) findViewById(R.id.textView1);
                textView1.setTextColor(Color.rgb(255,106,0));
            return view;
            }});

            listView.setOnItemClickListener(new OnItemClickListener(){
              public void onItemClick(AdapterView<?> a, View v, int position, long id) {
                 if (position == 0) {
                     viewflipper.showNext();
                 }if (position == 1) {
                     viewflipper.showNext();
                     viewflipper.showNext();
                 }if (position == 2) {
                     viewflipper.showNext();
                     viewflipper.showNext();
                     viewflipper.showNext();
                 }}   

        });    

    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;  
    }

    ViewFlipper viewflipper = (ViewFlipper) findViewById(R.id.viewflipper1);

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event)  {
        if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
             if(viewflipper.getDisplayedChild() == 0){
                 viewflipper.showPrevious();
              }if(viewflipper.getDisplayedChild() == 1){
                 viewflipper.showPrevious();
                 viewflipper.showPrevious();
              }if(viewflipper.getDisplayedChild() == 2){
                 viewflipper.showPrevious();
                 viewflipper.showPrevious();
                 viewflipper.showPrevious();
              }
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }

};
01-21 11:38:46.151: E/AndroidRuntime(760): FATAL EXCEPTION: main

01-21 11:38:46.151: E/AndroidRuntime(760): java.lang.RuntimeException: Unable to instantiate activity 
ComponentInfo{com.example.blackopsiiexperience/com.example.blackopsiiexperience.MainActivity}: java.lang.NullPointerException

01-21 11:38:46.151: E/AndroidRuntime(760):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2106)

01-21 11:38:46.151: E/AndroidRuntime(760):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)

01-21 11:38:46.151: E/AndroidRuntime(760):  at android.app.ActivityThread.access$600(ActivityThread.java:141)

01-21 11:38:46.151: E/AndroidRuntime(760):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)

01-21 11:38:46.151: E/AndroidRuntime(760):  at android.os.Handler.dispatchMessage(Handler.java:99)

01-21 11:38:46.151: E/AndroidRuntime(760):  at android.os.Looper.loop(Looper.java:137)

01-21 11:38:46.151: E/AndroidRuntime(760):  at android.app.ActivityThread.main(ActivityThread.java:5039)

01-21 11:38:46.151: E/AndroidRuntime(760):  at java.lang.reflect.Method.invokeNative(Native Method)

01-21 11:38:46.151: E/AndroidRuntime(760):  at java.lang.reflect.Method.invoke(Method.java:511)

01-21 11:38:46.151: E/AndroidRuntime(760):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)

01-21 11:38:46.151: E/AndroidRuntime(760):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)

01-21 11:38:46.151: E/AndroidRuntime(760):  at dalvik.system.NativeStart.main(Native Method)

01-21 11:38:46.151: E/AndroidRuntime(760): Caused by: java.lang.NullPointerException

01-21 11:38:46.151: E/AndroidRuntime(760):  at android.app.Activity.findViewById(Activity.java:1839)

01-21 11:38:46.151: E/AndroidRuntime(760):  at com.example.blackopsiiexperience.MainActivity.<init>(MainActivity.java:73)

01-21 11:38:46.151: E/AndroidRuntime(760):  at java.lang.Class.newInstanceImpl(Native Method)

01-21 11:38:46.151: E/AndroidRuntime(760):  at java.lang.Class.newInstance(Class.java:1319)

01-21 11:38:46.151: E/AndroidRuntime(760):  at android.app.Instrumentation.newActivity(Instrumentation.java:1054)

01-21 11:38:46.151: E/AndroidRuntime(760):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2097)

01-21 11:38:46.151: E/AndroidRuntime(760):  ... 11 more


Any suggestions?
01-21 11:38:46.151:E/AndroidRuntime(760):致命异常:main
01-21 11:38:46.151:E/AndroidRuntime(760):java.lang.RuntimeException:无法实例化活动
ComponentInfo{com.example.BlackOpsiieExperience/com.example.BlackOpsiieExperience.MainActivity}:java.lang.NullPointerException
01-21 11:38:46.151:E/AndroidRuntime(760):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2106)
01-21 11:38:46.151:E/AndroidRuntime(760):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
01-21 11:38:46.151:E/AndroidRuntime(760):在android.app.ActivityThread.access$600(ActivityThread.java:141)
01-21 11:38:46.151:E/AndroidRuntime(760):在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
01-21 11:38:46.151:E/AndroidRuntime(760):在android.os.Handler.dispatchMessage(Handler.java:99)上
01-21 11:38:46.151:E/AndroidRuntime(760):在android.os.Looper.loop(Looper.java:137)上
01-21 11:38:46.151:E/AndroidRuntime(760):位于android.app.ActivityThread.main(ActivityThread.java:5039)
01-21 11:38:46.151:E/AndroidRuntime(760):位于java.lang.reflect.Method.Invokenactive(本机方法)
01-21 11:38:46.151:E/AndroidRuntime(760):在java.lang.reflect.Method.invoke(Method.java:511)
01-21 11:38:46.151:E/AndroidRuntime(760):在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
01-21 11:38:46.151:E/AndroidRuntime(760):位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
01-21 11:38:46.151:E/AndroidRuntime(760):在dalvik.system.NativeStart.main(本机方法)
01-21 11:38:46.151:E/AndroidRuntime(760):由以下原因引起:java.lang.NullPointerException
01-21 11:38:46.151:E/AndroidRuntime(760):在android.app.Activity.findViewById(Activity.java:1839)
01-21 11:38:46.151:E/AndroidRuntime(760):在com.example.blackOpsiieExperience.MainActivity。(MainActivity.java:73)
01-21 11:38:46.151:E/AndroidRuntime(760):位于java.lang.Class.newInstanceImpl(本机方法)
01-21 11:38:46.151:E/AndroidRuntime(760):在java.lang.Class.newInstance(Class.java:1319)上
01-21 11:38:46.151:E/AndroidRuntime(760):在android.app.Instrumentati