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 に答える