마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

listview error(Unable to start activity ComponentInfo) [closed]

0 추천

listview 예제를 제 파일에다 넣는데 계속 에러가 생깁니다.

---------------------------------------------------------------------------------

09-21 16:08:43.929    6310-6310/com.example.lee.firsttest E/AndroidRuntime﹕ FATAL EXCEPTION: main
    Process: com.example.lee.firsttest, PID: 6310
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.lee.firsttest/com.example.lee.firsttest.activity.TestDataBaseActivity}: java.lang.NullPointerException
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2212)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2271)
            at android.app.ActivityThread.access$800(ActivityThread.java:144)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1205)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:136)
            at android.app.ActivityThread.main(ActivityThread.java:5146)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:732)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:566)
            at dalvik.system.NativeStart.main(Native Method)
     Caused by: java.lang.NullPointerException
            at com.example.lee.firsttest.activity.TestDataBaseActivity.onCreate(TestDataBaseActivity.java:60)
            at android.app.Activity.performCreate(Activity.java:5231)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2169)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2271)
            at android.app.ActivityThread.access$800(ActivityThread.java:144)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1205)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:136)
            at android.app.ActivityThread.main(ActivityThread.java:5146)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:732)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:566)
            at dalvik.system.NativeStart.main(Native Method)

==========================================================

"http://blog.daum.net/haha25/5387581" 이 코드를 사용하고 있습니다

package com.example.lee.firsttest;

import android.database.Cursor;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemLongClickListener;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.Toast;
import com.example.lee.firsttest.adapter.CustomAdapter;
import com.example.lee.firsttest.conf.Constants;
import com.example.lee.firsttest.data.InfoClass;
import com.example.lee.firsttest.database.DbOpenHelper;
import com.example.lee.firsttest.util.DLog;


import java.util.ArrayList;

public class memo extends AppCompatActivity {

    private static final String TAG = "memo";
    private DbOpenHelper mDbOpenHelper;
    private Cursor mCursor;
    private InfoClass mInfoClass;
    private ArrayList<InfoClass> mInfoArray;
    private CustomAdapter mAdapter;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_speechtotext);

        setLayout();
................................

 

com.example.lee.firsttest/com.example.lee.firsttest.activity.TestDataBaseActivity

이게 문제인것 같은데 com.example.lee.firsttest가 두번 있는게 문제인것 같은데 아무리 찾아봐도 잘 모르곘습니다.

mainactivity에서 버튼 누르면 intent로 불러오려고 합니다

질문을 종료한 이유: 답을 찾음 : 이전 APK 제거 후 다시 빌드
눈온다다다 (730 포인트) 님이 2015년 9월 21일 질문
눈온다다다님이 2015년 9월 21일 closed

1개의 답변

0 추천

 Caused by: java.lang.NullPointerException
            at com.example.lee.firsttest.activity.TestDataBaseActivity.onCreate(TestDataBaseActivity.java:60)

요게 문제입니다.

TestDataBaseActivity.java 에서 60번 라인에 어떤 코드가 작성되어있는지는 모르겠으나 거기서 Null인 객체를 참조하고 있군요

Gradler (109,780 포인트) 님이 2015년 9월 21일 답변
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.lee.firsttest/com.example.lee.firsttest.activity.TestDataBaseActivity}: java.lang.IllegalStateException: Couldn't read row 0, col -1 from CursorWindow.  Make sure the Cursor is initialized correctly before accessing data from it.
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2212)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2271)
            at android.app.ActivityThread.access$800(ActivityThread.java:144)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1205)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:136)
            at android.app.ActivityThread.main(ActivityThread.java:5146)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:732)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:566)
            at dalvik.system.NativeStart.main(Native Method)
     Caused by: java.lang.IllegalStateException: Couldn't read row 0, col -1 from CursorWindow.  Make sure the Cursor is initialized correctly before accessing data from it.
            at android.database.CursorWindow.nativeGetString(Native Method)
            at android.database.CursorWindow.getString(CursorWindow.java:434)
            at android.database.AbstractWindowedCursor.getString(AbstractWindowedCursor.java:51)
            at com.example.lee.firsttest.activity.TestDataBaseActivity.doWhileCursorToArray(TestDataBaseActivity.java:117)
            at com.example.lee.firsttest.activity.TestDataBaseActivity.onCreate(TestDataBaseActivity.java:53)
            at android.app.Activity.performCreate(Activity.java:5231)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2169)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2271)
            at android.app.ActivityThread.access$800(ActivityThread.java:144)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1205)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:136)
            at android.app.ActivityThread.main(ActivityThread.java:5146)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:732)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:566)
            at dalvik.system.NativeStart.main(Native Method)
60번 라인은
mAdapter = new CustomAdapter(this, mInfoArray);
mListView.setAdapter(mAdapter);
mListView.setOnItemLongClickListener(longClickListener);
이였는데 못찾아서 다시 넣으니까 처음 에러는 없어지고 댓글의 에러가 떴습니다.
코드는 질문을 수정해 놓겠습니다
아닙니다 이전에 계속 같은 이름으로 해서 그랬는지 apk 지우고 다시 넣으니까 잘 해결됬어요 ㅋㅋ 감사합니다
...