안드로이드에 입문한지 1개월된 신생아 입니다.
인터페이스 구현해서 버튼 이벤트 처리하는 부분만 따로
다른 자바 파일에 구현해놓고 사용하려 하는데요,
다른 토스트나 다이얼로그 창 띄우는건 되는데
인텐트만 하려고 하면 강종 당하네요... ㅜㅠ
고수님들 도와주세요!!
일부 소스코드입니다.
import android.content.Context;
import android.view.View;
interface Interface_Method
{
View.OnClickListener buttonResult(final Context context);
}
-----------------------------------------------------------------------------------------
class Build_Method extends Activity implements Interface_Method
{
public OnClickListener buttonSelect(final Context context)
{
View.OnClickListener event = new View.OnClickListener()
{
public void onClick(View v)
{
Intent intent = new Intent(context, WhatEat_Select.class);
startActivity(intent);
finish();
}
};
return event;
}
----------------------------------------------------------------------------------------
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main_activity);
private static Build_Method action = new Build_Method();
((Button)findViewById(R.id.btn_run)).setOnClickListener(action.buttonResult(WhatEat_Main.this));
}
-----------------------------------------------------------------------------------------
로그입니다..
08-15 07:14:46.562: W/dalvikvm(20089): threadid=1: thread exiting with uncaught exception (group=0x40019560)
08-15 07:14:46.572: E/AndroidRuntime(20089): FATAL EXCEPTION: main
08-15 07:14:46.572: E/AndroidRuntime(20089): java.lang.NullPointerException
08-15 07:14:46.572: E/AndroidRuntime(20089): at android.app.Activity.startActivityForResult(Activity.java:2827)
08-15 07:14:46.572: E/AndroidRuntime(20089): at android.app.Activity.startActivity(Activity.java:2933)
08-15 07:14:46.572: E/AndroidRuntime(20089): at com.example.clee.project.whateat.Build_Method$2.onClick(Build_Method.java:49)
08-15 07:14:46.572: E/AndroidRuntime(20089): at android.view.View.performClick(View.java:2504)
08-15 07:14:46.572: E/AndroidRuntime(20089): at android.view.View$PerformClick.run(View.java:9104)
08-15 07:14:46.572: E/AndroidRuntime(20089): at android.os.Handler.handleCallback(Handler.java:587)
08-15 07:14:46.572: E/AndroidRuntime(20089): at android.os.Handler.dispatchMessage(Handler.java:92)
08-15 07:14:46.572: E/AndroidRuntime(20089): at android.os.Looper.loop(Looper.java:130)
08-15 07:14:46.572: E/AndroidRuntime(20089): at android.app.ActivityThread.main(ActivityThread.java:3683)
08-15 07:14:46.572: E/AndroidRuntime(20089): at java.lang.reflect.Method.invokeNative(Native Method)
08-15 07:14:46.572: E/AndroidRuntime(20089): at java.lang.reflect.Method.invoke(Method.java:507)
08-15 07:14:46.572: E/AndroidRuntime(20089): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:864)
08-15 07:14:46.572: E/AndroidRuntime(20089): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:622)
08-15 07:14:46.572: E/AndroidRuntime(20089): at dalvik.system.NativeStart.main(Native Method)
NullPointerException 이니까 startActivity 할 때 intent 가 null 이거나 context 가 null 일꺼 같은데요.
브레이크 포인터 걸어서 확인해보세요.