0

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

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);
        }
        }
        });
4

1 回答 1

4

发现你的问题,

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

这应该是,

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

您使用 Drawable 和 id 错误地投射 res。

于 2012-10-17T06:38:09.810 回答