가능한 경우 구체적으로하려고합니다.이 플랫폼에서 처음으로 질문자이며 비교적 새로운 프로그래밍입니다. 이전에 질문/대답을 한 경우 사과드립니다. 제게 링크 해주세요. 나는 위아래로 수색했지만 다른 관련이없는 (적어도 나에게는) 문제를 찾는다.에뮬레이터의 bindView에서 사용자 정의 커서 커서 어댑터가 충돌 함 - 전화 번호가 아닙니다.
나를위한 진짜 난감한 것은 내 앱이 내 에뮬레이터에서 충돌하는 것입니다.하지만 휴대 전화에 apk를 업로드하고 (시장에서 AppInstaller 앱을 사용하여) 설치하면 작동합니다.
충돌은 사용자 지정 목록 커서 어댑터의 다음 코드 조각 (내 코드)에서 번호 매겨진 줄의 NullPointerException에서 발생합니다.
// TaskListCursorAdapter.java
@Override
public void bindView(View view, Context context, Cursor cursor) {
super.bindView(view, context, cursor); // <<< LINE 36
// DO OTHER BINDING OF STRINGS TO TEXT VIEWS ETC
다음 오류 덤프가 생성됩니다.
08-23 21:58:57.251: ERROR/AndroidRuntime(346): Uncaught handler: thread main exiting due to uncaught exception
08-23 21:58:57.411: ERROR/AndroidRuntime(346): java.lang.NullPointerException
08-23 21:58:57.411: ERROR/AndroidRuntime(346): at android.widget.SimpleCursorAdapter.bindView(SimpleCursorAdapter.java:149)
08-23 21:58:57.411: ERROR/AndroidRuntime(346): at adriaansapps.com.tasks.TaskListCursorAdapter.bindView(TaskListCursorAdapter.java:36)
08-23 21:58:57.411: ERROR/AndroidRuntime(346): at adriaansapps.com.tasks.TaskListCursorAdapter.newView(TaskListCursorAdapter.java:83)
08-23 21:58:57.411: ERROR/AndroidRuntime(346): at android.widget.CursorAdapter.getView(CursorAdapter.java:182)
08-23 21:58:57.411: ERROR/AndroidRuntime(346): at android.widget.AbsListView.obtainView(AbsListView.java:1274)
08-23 21:58:57.411: ERROR/AndroidRuntime(346): at android.widget.ListView.measureHeightOfChildren(ListView.java:1147)
08-23 21:58:57.411: ERROR/AndroidRuntime(346): at android.widget.ListView.onMeasure(ListView.java:1060)
08-23 21:58:57.411: ERROR/AndroidRuntime(346): at android.view.View.measure(View.java:7964)
08-23 21:58:57.411: ERROR/AndroidRuntime(346): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3023)
08-23 21:58:57.411: ERROR/AndroidRuntime(346): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:888)
08-23 21:58:57.411: ERROR/AndroidRuntime(346): at android.widget.LinearLayout.measureHorizontal(LinearLayout.java:619)
08-23 21:58:57.411: ERROR/AndroidRuntime(346): at android.widget.LinearLayout.onMeasure(LinearLayout.java:280)
08-23 21:58:57.411: ERROR/AndroidRuntime(346): at android.view.View.measure(View.java:7964)
08-23 21:58:57.411: ERROR/AndroidRuntime(346): at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:569)
08-23 21:58:57.411: ERROR/AndroidRuntime(346): at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:361)
08-23 21:58:57.411: ERROR/AndroidRuntime(346): at android.view.View.measure(View.java:7964)
08-23 21:58:57.411: ERROR/AndroidRuntime(346): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3023)
08-23 21:58:57.411: ERROR/AndroidRuntime(346): at android.widget.FrameLayout.onMeasure(FrameLayout.java:245)
08-23 21:58:57.411: ERROR/AndroidRuntime(346): at android.view.View.measure(View.java:7964)
08-23 21:58:57.411: ERROR/AndroidRuntime(346): at android.widget.LinearLayout.measureVertical(LinearLayout.java:464)
08-23 21:58:57.411: ERROR/AndroidRuntime(346): at android.widget.LinearLayout.onMeasure(LinearLayout.java:278)
08-23 21:58:57.411: ERROR/AndroidRuntime(346): at android.view.View.measure(View.java:7964)
08-23 21:58:57.411: ERROR/AndroidRuntime(346): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3023)
08-23 21:58:57.411: ERROR/AndroidRuntime(346): at android.widget.FrameLayout.onMeasure(FrameLayout.java:245)
08-23 21:58:57.411: ERROR/AndroidRuntime(346): at android.view.View.measure(View.java:7964)
08-23 21:58:57.411: ERROR/AndroidRuntime(346): at android.view.ViewRoot.performTraversals(ViewRoot.java:763)
08-23 21:58:57.411: ERROR/AndroidRuntime(346): at android.view.ViewRoot.handleMessage(ViewRoot.java:1633)
08-23 21:58:57.411: ERROR/AndroidRuntime(346): at android.os.Handler.dispatchMessage(Handler.java:99)
08-23 21:58:57.411: ERROR/AndroidRuntime(346): at android.os.Looper.loop(Looper.java:123)
08-23 21:58:57.411: ERROR/AndroidRuntime(346): at android.app.ActivityThread.main(ActivityThread.java:4363)
08-23 21:58:57.411: ERROR/AndroidRuntime(346): at java.lang.reflect.Method.invokeNative(Native Method)
08-23 21:58:57.411: ERROR/AndroidRuntime(346): at java.lang.reflect.Method.invoke(Method.java:521)
08-23 21:58:57.411: ERROR/AndroidRuntime(346): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
08-23 21:58:57.411: ERROR/AndroidRuntime(346): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
08-23 21:58:57.411: ERROR/AndroidRuntime(346): at dalvik.system.NativeStart.main(Native Method)
이상하게도 나는 행복 프로그래밍과 떨어져 하루 종일 디버깅 및 내 응용 프로그램의 긴 작업 및 버그 무료 부분이 지금이 오류를 던졌습니다 갑자기되어 있습니다.
데이터베이스에 문제가있는 것 같지만 확실하지 않습니다. 아무 것도 보이지 않는 것 같습니다. 오늘까지는 단 하나의 테이블 만 가진 데이터베이스가있었습니다. 오늘은 "auto_increment"키 필드로 "_id"필드가있는 새 테이블을 추가했습니다.이 필드는 워드 프로세서에서 읽을 수있는 안드로이드 목록 어댑터 (메모리가있는 경우) . 코딩에 대한 경험과 데이터베이스에 대한 사소한 경험을 가지고있는 것은 나에게 나쁜 생각 인 것 같지만 그게 문제인지 및/또는 어떻게해야하는지에 대해서는 확신 할 수 없습니다.
여기 나열된 충돌은 다른 표에있는 데이터를 표시하거나 참조하지 않습니다. 커서에 쿼리 데이터가 없습니다. 실제로 새 테이블의 "_id"키 필드를 다른 이름 (예 : "_blah")으로 바꾸면 충돌이 발생합니다.
내가 말했듯이, 내가 휴대 전화에 APK를 업로드하면 작동한다. 다시 시작 ADB (이클립스) - - 어떤 결과 를 - 설치 제거를 에뮬레이터에서 - 어떤 결과 - AVD 프로파일을 32 파괴하지 않고 다시 - 어떤 결과
내가 이것을 개발하고을 :
은 내가 에뮬레이터에서 다음을 시도하지 않은 안드로이드 2.1 SDK 하에서, 그리고 지난 몇 주간 계속되었습니다. 나는 그 SDK를 설치 한 적이있다. 아직 2.2로 업데이트하고있다.
내가 여기서 말할 수있는 것이 무엇인지 확신 할 수 없다 - 여기 누군가가 그것에 대해 충분한 지식을 가지고 있기를 바란다.
이 문제를 수정하지 않고도 새로운 코드 변경 사항을 테스트하기 위해 휴대 전화에 업로드해야한다고 가정 할 때 매우 느린 개발 과정을 예상 할 수 있습니다.
오랫동안 바람을 피워 죄송합니다. 저는 여러분에게 똑똑한 사람들 중 한 명에게 충분한 정보를 제공하기를 희망합니다. 감사합니다
영업 이익은 체인됩니다에 의해이 튜토리얼을 확인할 수 있습니다. – CommonsWare
흠 - 승자는 radek-k입니다 하지만 왜? 내가 배울 수 있도록 설명 해주고 싶습니다. 나는 이것이 문제라고 생각하지 않았다. (a) 튜토리얼에 있었고, (b) 내 앱이 꽤 오랫동안 잘 돌아 갔기 때문이다. 그러나, 내가 이것을 밖으로 말하고 presto라고 생각하는 킥을 위해, 앱은 지금 행복하게 일하고있다. 나는 또한 여기에 제안을 구현하기 전에 모든 것을 되돌려 놓으려고 노력했으며,이 행은 여전히 주석으로 처리됩니다. 답변? 정당화? 부디? – Adriaan