안드로이드 개발 질문/답변
(글 수 45,052)
소스입니다.
package kp.apptime.school;
import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.Window; import android.view.View.OnClickListener; import android.view.animation.Animation; import android.view.animation.AnimationUtils; import android.view.animation.Animation.AnimationListener; import android.widget.Button;
public class Main extends Activity {
Animation mAni;
View.OnClickListener bHandler = new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.halbtn: {
Button c1 = (Button) findViewById(R.id.halbtn);
c1.setBackgroundResource(R.drawable.main_1);
c1.startAnimation(mAni);
mAni.setAnimationListener(new AnimationListener() {
public void onAnimationEnd(Animation animation) {
Intent intent1 = new Intent(Main.this,
Halmal.class);
startActivity(intent1);
}
public void onAnimationRepeat(Animation animation) {
;
}
public void onAnimationStart(Animation animation) {
;
}
});
}
break;
case R.id.jilbtn: {
Button c1 = (Button) findViewById(R.id.jilbtn);
c1.setBackgroundResource(R.drawable.main_2);
c1.startAnimation(mAni);
mAni.setAnimationListener(new AnimationListener() {
public void onAnimationEnd(Animation animation) {
Intent intent2 = new Intent(Main.this,
Jil.class);
startActivity(intent2);
}
public void onAnimationRepeat(Animation animation) {
;
}
public void onAnimationStart(Animation animation) {
;
}
});
}
break;
case R.id.sinbtn: {
Button c1 = (Button) findViewById(R.id.sinbtn);
c1.setBackgroundResource(R.drawable.main_3);
c1.startAnimation(mAni);
mAni.setAnimationListener(new AnimationListener() {
public void onAnimationEnd(Animation animation) {
Intent intent3 = new Intent(Main.this,
Sin.class);
startActivity(intent3);
}
public void onAnimationRepeat(Animation animation) {
;
}
public void onAnimationStart(Animation animation) {
;
}
});
}
break;
case R.id.hwanbtn:
{
Button c1 = (Button)findViewById(R.id.hwanbtn);
c1.setBackgroundResource(R.drawable.main_4);
c1.startAnimation(mAni);
mAni.setAnimationListener(new AnimationListener() {
public void onAnimationEnd(Animation animation) {
Intent intent4 = new Intent(Main.this,
Hwan.class);
startActivity(intent4);
}
public void onAnimationRepeat(Animation animation) {;}
public void onAnimationStart(Animation animation) {;}
});
}
break;
}
} };
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.main);
findViewById(R.id.halbtn).setOnClickListener(bHandler);
findViewById(R.id.jilbtn).setOnClickListener(bHandler);
findViewById(R.id.sinbtn).setOnClickListener(bHandler);
findViewById(R.id.hwanbtn).setOnClickListener(bHandler);
findViewById(R.id.button1).setOnClickListener(bHandler);
mAni = AnimationUtils.loadAnimation(this, R.anim.scale);
}
}
로그켓 입니다
11-16 15:01:53.797: D/skia(9517): SHAPER: stream created /data/data/com.jungle.app.fonts/tmp/SJbangu.ttf.. 0x129E40
11-16 15:01:53.887: W/dalvikvm(9517): threadid=1: thread exiting with uncaught exception (group=0x40018560)
11-16 15:01:53.897: E/AndroidRuntime(9517): FATAL EXCEPTION: main
11-16 15:01:53.897: E/AndroidRuntime(9517): java.lang.RuntimeException: Unable to start activity ComponentInfo{kp.apptime.school/kp.apptime.school.Main}: java.lang.NullPointerException
11-16 15:01:53.897: E/AndroidRuntime(9517): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
11-16 15:01:53.897: E/AndroidRuntime(9517): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
11-16 15:01:53.897: E/AndroidRuntime(9517): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
11-16 15:01:53.897: E/AndroidRuntime(9517): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
11-16 15:01:53.897: E/AndroidRuntime(9517): at android.os.Handler.dispatchMessage(Handler.java:99)
11-16 15:01:53.897: E/AndroidRuntime(9517): at android.os.Looper.loop(Looper.java:130)
11-16 15:01:53.897: E/AndroidRuntime(9517): at android.app.ActivityThread.main(ActivityThread.java:3683)
11-16 15:01:53.897: E/AndroidRuntime(9517): at java.lang.reflect.Method.invokeNative(Native Method)
11-16 15:01:53.897: E/AndroidRuntime(9517): at java.lang.reflect.Method.invoke(Method.java:507)
11-16 15:01:53.897: E/AndroidRuntime(9517): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:864)
11-16 15:01:53.897: E/AndroidRuntime(9517): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:622)
11-16 15:01:53.897: E/AndroidRuntime(9517): at dalvik.system.NativeStart.main(Native Method)
11-16 15:01:53.897: E/AndroidRuntime(9517): Caused by: java.lang.NullPointerException
11-16 15:01:53.897: E/AndroidRuntime(9517): at kp.apptime.school.Main.onCreate(Main.java:121)
11-16 15:01:53.897: E/AndroidRuntime(9517): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
11-16 15:01:53.897: E/AndroidRuntime(9517): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
11-16 15:01:53.897: E/AndroidRuntime(9517): ... 11 more
메인에서 오류났다고하는대 오류난게없는대 ... 왜이럴까요 ㅠㅠㅠㅠ 진짜미치겠습니다 실장비로 테스트하고있으며 2.3입니다 ㅠㅠ




onCreate에서 null pointer exception 이니...
분명 아래 다섯 라인중에 한놈이 null 난거 같네요.
xml하고 제대로 매핑 됐는지 검토 해보세요
findViewById(R.id.halbtn).setOnClickListener(bHandler);08.findViewById(R.id.jilbtn).setOnClickListener(bHandler);09.findViewById(R.id.sinbtn).setOnClickListener(bHandler);10.findViewById(R.id.hwanbtn).setOnClickListener(bHandler);11.findViewById(R.id.button1).setOnClickListener(bHandler);12.mAni = AnimationUtils.loadAnimation(this, R.anim.scale);