baig772
baig772

Reputation: 3498

Android application forcefully closed in portrait mode, but runs well in landscape

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

Answers (2)

Ole
Ole

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

Barak
Barak

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

Related Questions