这是一个似乎已被广泛涵盖的主题,但我无法弄清楚导致我的问题的原因。我正在我的应用程序上使用选项卡布局,除了抛出这个选项之外,它们都可以正常工作:
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);
}
}
});
答案 0 :(得分:4)
找到你的问题,
final ImageButton glow1 = (ImageButton)findViewById(R.drawable.googleglow);
这应该是,
final ImageButton glow1 = (ImageButton)findViewById(R.id.googleglow);
您正在使用Drawable和id错误地转换res。