안녕하십니까 초보개발자입니다.
다름이 아니라 현재 제가 개인적으로 PDF뷰어를 개발하고 있는데요.
해당 뷰어에 대해서 런타임 에러가 발생하고 있어서 문의드립니다.
코드에서 보시다시피 ListView를 이용하여 섬네일 리스트를 만들었고 버튼을 누를때마다 섬네일 리스트가 화면에
나타나서 임의 섬네일을 선택하면 본화면에 해당 화면이 뜨도록 설정했습니다.
그런데 빨간색 표시되어있는 부분이 호출될 시 (리스트가 호출될 시)
런타임에러와 함께 프로그램이 종료되거나 초기화됩니다.
만일 해당 구문을 주석처리하면 빈 ListView가 나타나고 대신 런타임 에러없이 잘 동작합니다.
로그와 코드는 하기와 같습니다. 관심있으신 고수 분님들께서는 답변주시면 정말 감사하겠습니다.
그럼 즐거운 밤 되세요^^
(로그)
---------------------------------------------------------------------------------------------
........
10-30 21:36:57.101: W/ActivityManager(216): Launch timeout has expired, giving up wake lock!
10-30 21:36:57.171: W/ActivityManager(216): Activity idle timeout for ActivityRecord{42193ef8 com.sec.automotive.gcp.driveexperience/com.infraware.pdf.lib.PDFLibRenderActivity}
10-30 21:36:59.773: V/WindowOrientationListener(216): nearestRotation : 0 Angle: 0 tilt: 12
10-30 21:36:59.992: E/AlarmManagerService(216): android_server_AlarmManagerService_set to type=3, 27850.385000000
10-30 21:36:59.992: V/AlarmManager(216): ClockReceiver onReceive() ACTION_TIME_TICK
10-30 21:37:00.000: D/KeyguardUpdateMonitor(216): received broadcast android.intent.action.TIME_TICK
10-30 21:37:00.000: D/KeyguardUpdateMonitor(216): handleTimeUpdate
10-30 21:37:00.000: D/STATUSBAR-Clock(295): onReceive() - ACTION_TIME_TICK
10-30 21:37:00.007: D/STATUSBAR-Clock(295): updateClock :오후 9:37
10-30 21:37:00.046: D/STATUSBAR-Clock(295): onReceive() - ACTION_TIME_TICK
10-30 21:37:00.054: D/STATUSBAR-Clock(295): updateClock :오후 9:37
10-30 21:37:00.070: E/ClockWidgetService(18444): onReceive
10-30 21:37:00.070: E/ClockWidgetProvider(18444): updateWidgets
10-30 21:37:01.414: D/VoldCmdListener(95): asec list
10-30 21:37:01.414: D/VoldCmdListener(95): CommandListener::AsecCmd::runCommand -> --
10-30 21:37:02.476: I/dumpstate(18731): done
10-30 21:37:02.570: I/ActivityManager(216): Process com.sec.automotive.gcp.driveexperience (pid 18661) has died.
10-30 21:37:02.570: I/WindowManager(216): WIN DEATH: Window{41fbf868 *** paused=false}
10-30 21:37:02.570: W/ActivityManager(216): Scheduling restart of crashed service com.sec.automotive.gcp.driveexperience/com.sec.automotive.gcp.core.update.AppUpdateService in 5000ms
10-30 21:37:02.578: D/KeyguardViewMediator(216): setHidden false
10-30 21:37:02.578: D/KeyguardViewMediator(216): setHidden false
10-30 21:37:02.578: D/KeyguardViewMediator(216): setHidden false
10-30 21:37:02.578: D/InputDispatcher(216): [drainOutboundQueueLocked] initialize cntPair(sender-receiver)
10-30 21:37:02.578: I/InputDispatcher(216): Delivering touch to current input target: action: 0x1
10-30 21:37:02.578: D/KeyguardViewMediator(216): setHidden false
10-30 21:37:02.578: W/ActivityManager(216): Force removing ActivityRecord{42193ef8 com.sec.automotive.gcp.driveexperience/com.infraware.pdf.lib.PDFLibRenderActivity}: app died, no saved state
10-30 21:37:02.578: I/WindowManager(216): WIN DEATH: Window{420a2b50 *** paused=false}
10-30 21:37:02.578: W/WindowManager(216): Force-removing child win Window{41f19e98 *** paused=false} from container Window{420a2b50 *** paused=false}
10-30 21:37:02.578: I/WindowManager(216): WIN DEATH: Window{42059e70 *** paused=false}
10-30 21:37:02.585: E/lights(216): write_int failed to open /sys/class/sec/sec_touchkey/brightness
10-30 21:37:02.585: I/InputDispatcher(216): Delivering touch to current input target: action: 0x0
10-30 21:37:02.585: E/lights(216): write_int failed to open /sys/class/sec/sec_touchkey/brightness
10-30 21:37:02.585: I/InputDispatcher(216): Delivering touch to current input target: action: 0x1
10-30 21:37:02.585: I/InputDispatcher(216): Delivering touch to current input target: action: 0x0
10-30 21:37:02.585: I/InputDispatcher(216): Delivering touch to current input target: action: 0x1
10-30 21:37:02.585: I/power(216): *** acquire_dvfs_lock : lockType : 1 freq : 1008000
10-30 21:37:02.585: I/PowerManagerService(216): Ulight 3->7|0
10-30 21:37:02.585: D/PowerManagerService(216): setLightBrightness : mButtonLight : 255
10-30 21:37:02.585: W/PowerManagerService(216): Timer 0x7->0x3|0x0
10-30 21:37:02.585: I/PowerManagerService(216): Ulight 7->3|0
10-30 21:37:02.585: D/PowerManagerService(216): setLightBrightness : mButtonLight : 0
10-30 21:37:02.585: W/WindowManager(216): Failed looking up window
10-30 21:37:02.585: W/WindowManager(216): java.lang.IllegalArgumentException: Requested window android.os.BinderProxy@41f19ce0 does not exist
10-30 21:37:02.585: W/WindowManager(216): at com.android.server.wm.WindowManagerService.windowForClientLocked(WindowManagerService.java:7734)
10-30 21:37:02.585: W/WindowManager(216): at com.android.server.wm.WindowManagerService.windowForClientLocked(WindowManagerService.java:7725)
10-30 21:37:02.585: W/WindowManager(216): at com.android.server.wm.WindowState$DeathRecipient.binderDied(WindowState.java:1579)
10-30 21:37:02.585: W/WindowManager(216): at android.os.BinderProxy.sendDeathNotice(Binder.java:417)
10-30 21:37:02.585: W/WindowManager(216): at com.android.server.SystemServer.init1(Native Method)
10-30 21:37:02.585: W/WindowManager(216): at com.android.server.SystemServer.main(SystemServer.java:991)
10-30 21:37:02.585: W/WindowManager(216): at java.lang.reflect.Method.invokeNative(Native Method)
10-30 21:37:02.585: W/WindowManager(216): at java.lang.reflect.Method.invoke(Method.java:511)
10-30 21:37:02.585: W/WindowManager(216): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)
10-30 21:37:02.585: W/WindowManager(216): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
10-30 21:37:02.585: W/WindowManager(216): at dalvik.system.NativeStart.main(Native Method)
10-30 21:37:02.585: I/WindowManager(216): WIN DEATH: null
10-30 21:37:02.585: W/ActivityManager(216): Force removing ActivityRecord{42074248 com.sec.automotive.gcp.driveexperience/com.sec.automotive.gcp.smartpromotion.view.maincar.MainCarActivity}: app died, no saved state
10-30 21:37:02.585: D/PowerManagerService(216): acquireDVFSLockLocked : type : DVFS_MIN_LIMIT frequency : 1008000 uid : 1000 pid : 216 tag : ActivityManager
10-30 21:37:02.585: W/ActivityManager(216): mDVFSLock.acquire()
10-30 21:37:02.601: D/dalvikvm(18766): Late-enabling CheckJNI
10-30 21:37:02.617: I/ActivityManager(216): Start proc app.processName for activity hostingNameStr: pid=18766 uid=10122 gids={3003, 1015, 1023}
---------------------------------------------------------------------------------------------
(코드)
---------------------------------------------------------------------------------------------
........
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
.......
listView = (ListView) findViewById(R.id.test_thumb2);
popup.setVisibility(View.GONE);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
......
if(key==0){
mHandler.postDelayed(new Runnable(){
@Override
public void run() {
// TODO Auto-generated method stub
key=1;
listView.setAdapter(new ListAdapter("해당Activity".this, pdfLib));
......
}
}, 1);
renderView.setVisibility(View.VISIBLE);
popup.setVisibility(View.VISIBLE);
setVisible(listView);
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView parent, View v, int position, long id) {
...........
}
});
}
else if(key==1){
...........
popup.setVisibility(View.GONE);
}
}
});
..................
..................
private class ListAdapter extends BaseAdapter {
private Context ctx;
private PDFLib pdfLib;
private View[] views;
private ImageView[] imageViews;
private TextView[] textViews;
public ListAdapter(Context ctx, PDFLib pdfLib) {
this.ctx = ctx;
this.pdfLib = pdfLib;
views = new View[totalPages];
imageViews = new ImageView[totalPages];
textViews = new TextView[totalPages];
}
@Override
public int getCount() {
return totalPages;
}
@Override
public Object getItem(int position) {
return position;
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = getLayoutInflater();
View view = inflater.inflate(R.layout.list_item, null);
if (views[position] == null) {
TextView textView = (TextView)view.findViewById(R.id.list_text);
textView.setText(Integer.toString(position+1));
textViews[position] = textView;
ImageView imageView = (ImageView)view.findViewById(R.id.list_image);
Bitmap bitmap = pdfLib.getBitmap(position+1, 150, 150);
imageView.setImageBitmap(bitmap);
imageView.setPadding(0, 0, 0, 15);
imageViews[position] = imageView;
views[position] = view;
}
return views[position];
}
}
---------------------------------------------------------------------------------------------



