2012-10-17 2 views
0

Il s'agit d'un sujet qui semble avoir été largement couvert, mais je n'arrive pas à comprendre ce qui cause mon problème. J'utilise une mise en page de l'onglet sur ma demande, et ils travaillent tous très bien, à l'exception de celui qui jette ceci:Clôture de l'application Android en raison de java.lang.NullPointerException

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) 

J'ai trouvé la ligne qui est à l'origine du problème (62), mais je suis déconcerté parce que Je l'ai codé de la même façon dans 5 autres cas. Ce que j'ai trouvé pour une exception java.lang.NullPointerException est que cela est appelé quand quelque chose n'est pas référencé, mais ce n'est pas le cas, comme je l'ai référencé dans mon onCreate. Voici ma classe avec la ligne en gras celle qui cause mes problèmes. Merci de votre aide!

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); 
     } 
     } 
     }); 
+0

Il semble que '(ImageButton) findViewById (R.drawable.googleglow)' renvoie null. Avez-vous débogué dedans? –

Répondre

4

trouvé votre problème,

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

Cela devrait être,

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

Vous transtypez les res mal avec Drawable et id.

+0

J'ai d'abord défini l'image sur (R.id.googleglow), puis l'ai modifiée sur R.drawable.googleglow. Ils retournent tous les deux la même erreur. – BossWalrus

+0

modifier pour id lui-même. Essayez de faire un projet-> nettoyer et vérifier. Si vous avez toujours l'erreur, consultez examplelayout.xml pour savoir si vous avez un ImageButton avec l'ID "googleglow". –

+0

Bizarre .. j'ai mis le r.drawable.googleglow de nouveau à r.id.googleglow, et ai commenté tout ce qui référencé googleglow et qui a semblé fonctionner. Je ne suis pas sûr de ce qui s'est passé, mais tout va bien. Je vous remercie!!! – BossWalrus

Questions connexes