Reputation: 3498
i am new to android. While i am running my application, it is running well in landscape mode, but in portrait mode, application is forcefully closed giving the following in log
05-31 16:48:30.958: W/KeyCharacterMap(428): No keyboard for id 0
05-31 16:48:30.958: W/KeyCharacterMap(428): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
05-31 16:50:45.728: D/AndroidRuntime(484): Shutting down VM
05-31 16:50:45.728: W/dalvikvm(484): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
05-31 16:50:45.758: E/AndroidRuntime(484): FATAL EXCEPTION: main
05-31 16:50:45.758: E/AndroidRuntime(484): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.kalmas/com.kalmas.Kalma2}: java.lang.NullPointerException
05-31 16:50:45.758: E/AndroidRuntime(484): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
05-31 16:50:45.758: E/AndroidRuntime(484): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
05-31 16:50:45.758: E/AndroidRuntime(484): at android.app.ActivityThread.access$2300(ActivityThread.java:125)
05-31 16:50:45.758: E/AndroidRuntime(484): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
05-31 16:50:45.758: E/AndroidRuntime(484): at android.os.Handler.dispatchMessage(Handler.java:99)
05-31 16:50:45.758: E/AndroidRuntime(484): at android.os.Looper.loop(Looper.java:123)
05-31 16:50:45.758: E/AndroidRuntime(484): at android.app.ActivityThread.main(ActivityThread.java:4627)
05-31 16:50:45.758: E/AndroidRuntime(484): at java.lang.reflect.Method.invokeNative(Native Method)
05-31 16:50:45.758: E/AndroidRuntime(484): at java.lang.reflect.Method.invoke(Method.java:521)
05-31 16:50:45.758: E/AndroidRuntime(484): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
05-31 16:50:45.758: E/AndroidRuntime(484): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
05-31 16:50:45.758: E/AndroidRuntime(484): at dalvik.system.NativeStart.main(Native Method)
05-31 16:50:45.758: E/AndroidRuntime(484): Caused by: java.lang.NullPointerException
05-31 16:50:45.758: E/AndroidRuntime(484): at com.kalmas.Kalma2.onCreate(Kalma2.java:52)
05-31 16:50:45.758: E/AndroidRuntime(484): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
05-31 16:50:45.758: E/AndroidRuntime(484): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
05-31 16:50:45.758: E/AndroidRuntime(484): ... 11 more
05-31 16:50:48.108: I/Process(484): Sending signal. PID: 484 SIG: 9
the code of my Kalma2.java is
package com.kalmas;
import android.app.Activity;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;
public class Kalma2 extends Activity {
public void onCreate(Bundle savedInstanceState) {
final MediaPlayer kalma2 = MediaPlayer.create(this, R.raw.kalma2);
super.onCreate(savedInstanceState);
setContentView(R.layout.kalma2);
ImageView prev2 = (ImageView)findViewById(R.id.prev2);
prev2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
kalma2.stop();
startActivity(new Intent(Kalma2.this,Kalma1.class));
}
});
ImageView next2 = (ImageView)findViewById(R.id.next2);
next2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
kalma2.stop();
startActivity(new Intent(Kalma2.this,Kalma3.class));
}
});
ImageView pause = (ImageView)findViewById(R.id.pause2);
pause.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
kalma2.pause();
}
});
ImageView play = (ImageView)findViewById(R.id.play2);
play.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
kalma2.start();
}
});
ImageView kalma = (ImageView)findViewById(R.id.kalma2);
kalma.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
kalma2.start();
}
});
}
}
Upvotes: 0
Views: 302
Reputation: 7999
As far as I can tell, on line 52 you try to attach a click listener to an ImageView.
ImageView play = (ImageView)findViewById(R.id.play2);
play.setOnClickListener(new OnClickListener() { ...
Are you sure your layout contains an ImageView with id play2? Would be nice to have the code for kalma2.xml too :)
Upvotes: 1
Reputation: 16393
Without seeing your layout and knowing exactly what line 52 is, it's hard to say, but the most likely issue is that one of your findViewById
calls is returning null, and when you use it to try and set the clickListener you get the NPE.
Check the ids and make sure you are matching capitalization as well as id.
Upvotes: 0