안드로이드 개발 질문/답변
(글 수 45,052)
AdapterView.OnItemClickListener ListViewClickListener =
new AdapterView.OnItemClickListener() {
DialogInterface.OnClickListener Registration = new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which){
//Registration for new Member
int i = 0;
LinearLayout buttonlayout = (LinearLayout)findViewById(R.id.buttonlayout);
addbtn = new Button(getApplication());
addbtn.setId(i++);
addbtn.setText(sIP);
Drawable icon = getApplicationContext().getResources().getDrawable(R.drawable.icon);
icon.setBounds(0, 0, icon.getIntrinsicWidth(), icon.getIntrinsicHeight());
addbtn.setCompoundDrawables(icon, null, null, null);
buttonlayout.addView(addbtn);
setContentView(buttonlayout);
}
};
리스트뷰 클릭 시 다이얼로그 뷰가 뜨게 하고
다이얼로그 뷰에서 위에 Registration을 클릭 시 버튼이 생성되게 하려고 합니다
그런데 Registration 클릭 시 어플이 죽어버리는데
도저히 해결 방법을 모르겠습니다
LinearLayout buttonlayout = (LinearLayout)findViewById(R.id.buttonlayout);
이 레이아웃은 다른 activity에 있는 건데 버튼의 생성 위치를 지정해 주기 위해 다시 선언했습니다
2013.01.07 20:20:34
(추천:
1 / 0)
addbtn = new Button(getApplication()); 이 부분을 new Button(클래스명.this) 로 바꿔서 해보실래요?
2013.01.07 20:46:58
(추천:
1 / 0)
getApplicationContext().getResources().getDrawable(R.drawable.icon) 이 부분도
클래스명.this.getResources().getDrawable(R.drawable.icon) 로 수정해 보시구요.
2013.01.08 16:27:04
01-08 16:21:47.440: D/libEGL(4974): loaded /system/lib/egl/libGLES_android.so
01-08 16:21:47.510: D/libEGL(4974): loaded /system/lib/egl/libEGL_mali.so
01-08 16:21:47.510: D/libEGL(4974): loaded /system/lib/egl/libGLESv1_CM_mali.so
01-08 16:21:47.520: D/libEGL(4974): loaded /system/lib/egl/libGLESv2_mali.so
01-08 16:21:47.560: D/OpenGLRenderer(4974): Enabling debug mode 0
01-08 16:21:49.980: D/OpenGLRenderer(4974): Flushing caches (mode 0)
01-08 16:21:54.010: D/AndroidRuntime(4974): Shutting down VM
01-08 16:21:54.010: W/dalvikvm(4974): threadid=1: thread exiting with uncaught exception (group=0x409ec1f8)
01-08 16:21:54.040: E/AndroidRuntime(4974): FATAL EXCEPTION: main
01-08 16:21:54.040: E/AndroidRuntime(4974): java.lang.NullPointerException
01-08 16:21:54.040: E/AndroidRuntime(4974): at com.example.tablet.Setup$1$1.onClick(Setup.java:98)
01-08 16:21:54.040: E/AndroidRuntime(4974): at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:166)
01-08 16:21:54.040: E/AndroidRuntime(4974): at android.os.Handler.dispatchMessage(Handler.java:99)
01-08 16:21:54.040: E/AndroidRuntime(4974): at android.os.Looper.loop(Looper.java:137)
01-08 16:21:54.040: E/AndroidRuntime(4974): at android.app.ActivityThread.main(ActivityThread.java:4424)
01-08 16:21:54.040: E/AndroidRuntime(4974): at java.lang.reflect.Method.invokeNative(Native Method)
01-08 16:21:54.040: E/AndroidRuntime(4974): at java.lang.reflect.Method.invoke(Method.java:511)
01-08 16:21:54.040: E/AndroidRuntime(4974): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
01-08 16:21:54.040: E/AndroidRuntime(4974): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
01-08 16:21:54.040: E/AndroidRuntime(4974): at dalvik.system.NativeStart.main(Native Method)
01-08 16:21:54.080: D/dalvikvm(4974): GC_CONCURRENT freed 163K, 5% free 6807K/7111K, paused 1ms+12ms
답변 감사합니다
그런데 바꿨는데 똑같이 뜹니다 눌렀을때요 음 힘드네요
2013.01.08 22:08:03
(추천:
1 / 0)

01-08 16:21:54.040: E/AndroidRuntime(4974): java.lang.NullPointerException
01-08 16:21:54.040: E/AndroidRuntime(4974): at com.example.tablet.Setup$1$1.onClick(Setup.java:98)
setup.java 98line에서 NullPointerException이 발생했네요
정확히 98 line이 어딘지는 모르겠습니다만, drawable이 정확히 들어갔는지가 가장 의심되네요
resource가 정확히 있는지도 확인해보세요 :)
에러 메시지좀 첨부해 주세요~