2011-04-27 6 views
1

목록보기의 첫 번째 항목을 길게 누르면 응용 프로그램이 중단됩니다. 실제로 첫 번째 항목은 수동으로 추가되고 "폴더로 이동"목록 뒤에 추가 된 "폴더로 이동"입니다. 항목보기가 나타납니다. 이제는 "폴더로 이동"항목을 제외하고 목록의 모든 항목을 길게 클릭하고 있습니다. 하지만 "길게 폴더로 이동"을 길게 누르면 앱이 다운됩니다. 는 내 코드의 작은 부분은 아래와 같습니다 :첫 번째 항목을 길게 누르면 응용 프로그램이 충돌 함

if (tt != null) 
{ 
if ((m_remotefilepath == null)|| (m_remotefilepath.matches("/"))) 
{ 
tt.setText(items[position].m_FileName); 
} 
else 
{ 
if (position > 0) 
{ 
tt.setText(items[position].m_FileName); 
} 
else 
{ 
tt.setText("Go To Up Folder"); 
imageView.setImageResource(R.drawable.up); 
} 
} 
} 

MY 로그 고양이 :

04-27 12:06:21.635: DEBUG/AndroidRuntime(230): Shutting down VM 
04-27 12:06:21.645: WARN/dalvikvm(230): threadid=3: thread exiting with uncaught exception (group=0x4001b188) 
04-27 12:06:21.686: ERROR/AndroidRuntime(230): Uncaught handler: thread main exiting due to uncaught exception 
04-27 12:06:21.965: ERROR/AndroidRuntime(230): java.lang.NullPointerException 
04-27 12:06:21.965: ERROR/AndroidRuntime(230):  at com.officelinq.android.OfficeLinQ.onCreateContextMenu(OfficeLinQ.java:1549) 
04-27 12:06:21.965: ERROR/AndroidRuntime(230):  at android.view.View.createContextMenu(View.java:4086) 
04-27 12:06:21.965: ERROR/AndroidRuntime(230):  at com.android.internal.view.menu.ContextMenuBuilder.show(ContextMenuBuilder.java:81) 
04-27 12:06:21.965: ERROR/AndroidRuntime(230):  at com.android.internal.policy.impl.PhoneWindow$DecorView.showContextMenuForChild(PhoneWindow.java:1848) 
04-27 12:06:21.965: ERROR/AndroidRuntime(230):  at android.view.ViewGroup.showContextMenuForChild(ViewGroup.java:458) 
04-27 12:06:21.965: ERROR/AndroidRuntime(230):  at android.view.ViewGroup.showContextMenuForChild(ViewGroup.java:458) 
04-27 12:06:21.965: ERROR/AndroidRuntime(230):  at android.view.ViewGroup.showContextMenuForChild(ViewGroup.java:458) 
04-27 12:06:21.965: ERROR/AndroidRuntime(230):  at android.view.ViewGroup.showContextMenuForChild(ViewGroup.java:458) 
04-27 12:06:21.965: ERROR/AndroidRuntime(230):  at android.view.ViewGroup.showContextMenuForChild(ViewGroup.java:458) 
04-27 12:06:21.965: ERROR/AndroidRuntime(230):  at android.view.ViewGroup.showContextMenuForChild(ViewGroup.java:458) 
04-27 12:06:21.965: ERROR/AndroidRuntime(230):  at android.widget.AbsListView.performLongPress(AbsListView.java:1703) 
04-27 12:06:21.965: ERROR/AndroidRuntime(230):  at android.widget.AbsListView.access$500(AbsListView.java:71) 
04-27 12:06:21.965: ERROR/AndroidRuntime(230):  at android.widget.AbsListView$CheckForLongPress.run(AbsListView.java:1656) 
04-27 12:06:21.965: ERROR/AndroidRuntime(230):  at android.os.Handler.handleCallback(Handler.java:587) 
04-27 12:06:21.965: ERROR/AndroidRuntime(230):  at android.os.Handler.dispatchMessage(Handler.java:92) 
04-27 12:06:21.965: ERROR/AndroidRuntime(230):  at android.os.Looper.loop(Looper.java:123) 
04-27 12:06:21.965: ERROR/AndroidRuntime(230):  at android.app.ActivityThread.main(ActivityThread.java:4363) 
04-27 12:06:21.965: ERROR/AndroidRuntime(230):  at java.lang.reflect.Method.invokeNative(Native Method) 
04-27 12:06:21.965: ERROR/AndroidRuntime(230):  at java.lang.reflect.Method.invoke(Method.java:521) 
04-27 12:06:21.965: ERROR/AndroidRuntime(230):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860) 
04-27 12:06:21.965: ERROR/AndroidRuntime(230):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618) 
04-27 12:06:21.965: ERROR/AndroidRuntime(230):  at dalvik.system.NativeStart.main(Native Method) 
04-27 12:06:22.235: INFO/Process(34): Sending signal. PID: 230 SIG: 3 
04-27 12:06:22.285: INFO/dalvikvm(230): threadid=7: reacting to signal 3 
04-27 12:06:22.963: INFO/dalvikvm(230): Wrote stack trace to '/data/anr/traces.txt' 

호선 1549의 코드는 다음과 같습니다 menu.setHeaderTitle (m_adapter.items [info.position] .m_ 파일 이름);

+2

응용 프로그램이 충돌하는 경우 logcat 출력에서 ​​스택 추적을 제공하십시오. – Michael

+0

com.officelinq.android.OfficeLinQ.onCreateContextMenu (OfficeLinQ.java:1549)'에서 컨텍스트 메뉴를 생성 할 때'NullPointerException '이 생겼습니다. 그 코드 라인은 정확히 무엇입니까? – GrAnd

답변

1

"길게 누르기"를 할 때 설정되지 않은 컨텍스트 메뉴를 만들려고합니다. 항목에 대한 상황에 맞는 메뉴를 설정하십시오. 그러면 문제가 해결 될 것입니다.

+0

공공 무효 인, onCreateContextMenu (의 ContextMenu 메뉴,보기 V, \t \t \t ContextMenuInfo menuInfo) \t { \t \t 스위치 (m_tmpData.m_tempParamInt4) \t \t { \t \t 경우 LIST_TYPE_FILEMANAGER : // 목록 파일 관리자 \t \t \t 경우 (v.getId() == android.R.id.list) \t \t \t { \t \t 01 (어댑터 뷰) \t \t \t \t menu.setHeaderTitle (m_adapter.items [info.position] .m_FileName); \t \t \t \t 문자열 []의 메뉴 아이템에의 GetResources =() \t \t \t \t .getStringArray (R.array.menu); \t \t \t \t 찾는 INT (I = 0; I

+0

항목에 대한 상황에 맞는 메뉴를 설정하는 방법을 제안하십시오. –

+1

아마도 * tt * 또는 * items [i] *의 유형은 setContextMenu() 또는 그와 비슷한 것을가집니다. API를 확인하십시오. – Pih

0

오늘도이 문제가 발생했습니다. ListView.setMultiChoiceModeListener()를 호출하지 않고 SELECTION_MODE_MULTIPLE_MODAL을 사용하면이 오류가 발생합니다. SELECTION_MODE_MULTIPLE을 사용하거나 리스너를 설정하여 사라지게하십시오.

관련 문제