由于java.lang.NullPointerException,Android App Closing

时间:2012-10-17 06:36:02

标签: android

这是一个似乎已被广泛涵盖的主题,但我无法弄清楚导致我的问题的原因。我正在我的应用程序上使用选项卡布局,除了抛出这个选项之外,它们都可以正常工作:

E/AndroidRuntime(1190): Caused by: java.lang.NullPointerException
E/AndroidRuntime(1190): at com.package.Example.onCreate(clas.java:62)
 E/AndroidRuntime(1190): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)

我找到了导致问题的那一行(62),但我感到困惑,因为我在其他5个实例中以相同的方式编码。我发现的java.lang.NullPointerException是在未引用某些内容时调用它,但事实并非如此,因为我在onCreate中引用了它。这是我的班级用粗体线引起我的问​​题。谢谢你的帮助!

public class Example extends Activity implements OnClickListener{

    ImageButton image1;
    ImageButton glow1;
    WebView webview1;



    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.examplelayout);

        final ImageButton image1 = (ImageButton)findViewById(R.id.webgoogle);
        final ImageButton glow1 = (ImageButton)findViewById(R.drawable.googleglow);
        final WebView webview1 = (WebView)this.findViewById(R.id.webView6);
        final MediaPlayer sound = MediaPlayer.create(Youtube.this, R.raw.appsound);

        image1.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {
                // TODO Auto-generated method stub
                webview1.loadUrl("http://www.google.com");
                if(sound.isPlaying()){
                image1.setVisibility(ImageButton.VISIBLE);
                glow1.setVisibility(ImageButton.GONE);




            }else {
                sound.start();
                image1.setVisibility(ImageButton.GONE);
                glow1.setVisibility(ImageButton.VISIBLE);

            }
            }
        });

        **glow1.setOnClickListener(new View.OnClickListener() {**

            public void onClick(View v) {
                // TODO Auto-generated method stub
            webview1.loadUrl("http://www.google.com");
            if(sound.isPlaying()){
            glow1.setVisibility(ImageButton.GONE);
            image1.setVisibility(ImageButton.VISIBLE);

        }else {
            sound.start();
            glow1.setVisibility(ImageButton.VISIBLE);
            image1.setVisibility(ImageButton.GONE);
        }
        }
        });

1 个答案:

答案 0 :(得分:4)

找到你的问题,

 final ImageButton glow1 = (ImageButton)findViewById(R.drawable.googleglow);

这应该是,

 final ImageButton glow1 = (ImageButton)findViewById(R.id.googleglow);

您正在使用Drawable和id错误地转换res。