0
아래에서이 코딩과 관련하여 오류가 발생합니다. 나는 주변을 돌아 다니는 것이 엉망이라고 알고 있습니다. 어떤 이유로 나는 Null Pointer Exception을 얻고있다.Android Null 포인터 예외 MySimpleTreeAdapter
이MySimpleCursorTreeAdapter mscta = new MySimpleCursorTreeAdapter(
코드 :
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.cattest);
SQLiteDatabase checkDB = null;
String myPath = DB_PATH + DB_NAME;
checkDB = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READONLY);
//froggydb = dbHelper.getReadableDatabase();
Cursor groupCursor = checkDB.rawQuery("SELECT * FROM questions", null);
MySimpleCursorTreeAdapter mscta = new MySimpleCursorTreeAdapter(
this,
groupCursor,
R.layout.employee_list_item,
new String[] {"question"},
new int[] {R.id.firstName},
R.layout.employee_list_item,
new String[] {"question"},
new int[] {R.id.firstName});
setListAdapter(mscta);
checkDB.close();
}
class MySimpleCursorTreeAdapter extends SimpleCursorTreeAdapter{
public MySimpleCursorTreeAdapter(Context context, Cursor cursor,
int groupLayout, String[] groupFrom, int[] groupTo,
int childLayout, String[] childFrom, int[] childTo) {
super(context, cursor, groupLayout, groupFrom, groupTo, childLayout, childFrom,
childTo);
}
@Override
protected Cursor getChildrenCursor(Cursor groupCursor) {
String countryID = Integer.toString(groupCursor.getInt(0));
SQLiteDatabase checkDB = null;
String myPath = DB_PATH + DB_NAME;
checkDB = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READONLY);
Cursor value = checkDB.rawQuery("SELECT * FROM questions", null);
String test = "";
if(value.moveToFirst())
test = value.getInt(0) + ": " + value.getString(1);
while(value.moveToNext()){
test += ";" + value.getInt(0) + ": " + value.getString(1);
}
return value;
}
}
스택 트레이스 : 예외가 정말 라인에서 발생하는 경우
09-11 14:33:09.365: ERROR/AndroidRuntime(161): Uncaught handler: thread main exiting due to uncaught exception
09-11 14:33:10.565: ERROR/AndroidRuntime(161): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.home.max/com.browse.max.Categories}: java.lang.NullPointerException
09-11 14:33:10.565: ERROR/AndroidRuntime(161): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2401)
09-11 14:33:10.565: ERROR/AndroidRuntime(161): at android.app.ActivityThread.startActivityNow(ActivityThread.java:2242)
09-11 14:33:10.565: ERROR/AndroidRuntime(161): at android.app.LocalActivityManager.moveToState(LocalActivityManager.java:127)
09-11 14:33:10.565: ERROR/AndroidRuntime(161): at android.app.LocalActivityManager.startActivity(LocalActivityManager.java:339)
09-11 14:33:10.565: ERROR/AndroidRuntime(161): at android.widget.TabHost$IntentContentStrategy.getContentView(TabHost.java:631)
09-11 14:33:10.565: ERROR/AndroidRuntime(161): at android.widget.TabHost.setCurrentTab(TabHost.java:317)
09-11 14:33:10.565: ERROR/AndroidRuntime(161): at android.widget.TabHost$2.onTabSelectionChanged(TabHost.java:127)
09-11 14:33:10.565: ERROR/AndroidRuntime(161): at android.widget.TabWidget$TabClickListener.onClick(TabWidget.java:346)
09-11 14:33:10.565: ERROR/AndroidRuntime(161): at android.view.View.performClick(View.java:2344)
09-11 14:33:10.565: ERROR/AndroidRuntime(161): at android.view.View.onTouchEvent(View.java:4133)
09-11 14:33:10.565: ERROR/AndroidRuntime(161): at android.view.View.dispatchTouchEvent(View.java:3672)
09-11 14:33:10.565: ERROR/AndroidRuntime(161): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:850)
09-11 14:33:10.565: ERROR/AndroidRuntime(161): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:882)
09-11 14:33:10.565: ERROR/AndroidRuntime(161): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:882)
09-11 14:33:10.565: ERROR/AndroidRuntime(161): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:882)
09-11 14:33:10.565: ERROR/AndroidRuntime(161): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:882)
09-11 14:33:10.565: ERROR/AndroidRuntime(161): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:882)
09-11 14:33:10.565: ERROR/AndroidRuntime(161): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1712)
09-11 14:33:10.565: ERROR/AndroidRuntime(161): at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1202)
09-11 14:33:10.565: ERROR/AndroidRuntime(161): at android.app.Activity.dispatchTouchEvent(Activity.java:1987)
09-11 14:33:10.565: ERROR/AndroidRuntime(161): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1696)
09-11 14:33:10.565: ERROR/AndroidRuntime(161): at android.view.ViewRoot.handleMessage(ViewRoot.java:1658)
09-11 14:33:10.565: ERROR/AndroidRuntime(161): at android.os.Handler.dispatchMessage(Handler.java:99)
09-11 14:33:10.565: ERROR/AndroidRuntime(161): at android.os.Looper.loop(Looper.java:123)
09-11 14:33:10.565: ERROR/AndroidRuntime(161): at android.app.ActivityThread.main(ActivityThread.java:4203)
09-11 14:33:10.565: ERROR/AndroidRuntime(161): at java.lang.reflect.Method.invokeNative(Native Method)
09-11 14:33:10.565: ERROR/AndroidRuntime(161): at java.lang.reflect.Method.invoke(Method.java:521)
09-11 14:33:10.565: ERROR/AndroidRuntime(161): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
09-11 14:33:10.565: ERROR/AndroidRuntime(161): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549)
09-11 14:33:10.565: ERROR/AndroidRuntime(161): at dalvik.system.NativeStart.main(Native Method)
09-11 14:33:10.565: ERROR/AndroidRuntime(161): Caused by: java.lang.NullPointerException
09-11 14:33:10.565: ERROR/AndroidRuntime(161): at com.browse.max.Categories$MySimpleCursorTreeAdapter.getChildrenCursor(Categories.java:69)
09-11 14:33:10.565: ERROR/AndroidRuntime(161): at android.widget.CursorTreeAdapter.getChildrenCursorHelper(CursorTreeAdapter.java:106)
09-11 14:33:10.565: ERROR/AndroidRuntime(161): at android.widget.SimpleCursorTreeAdapter.init(SimpleCursorTreeAdapter.java:172)
09-11 14:33:10.565: ERROR/AndroidRuntime(161): at android.widget.SimpleCursorTreeAdapter.<init>(SimpleCursorTreeAdapter.java:157)
09-11 14:33:10.565: ERROR/AndroidRuntime(161): at com.browse.max.Categories$MySimpleCursorTreeAdapter.<init>(Categories.java:62)
09-11 14:33:10.565: ERROR/AndroidRuntime(161): at com.browse.max.Categories.onCreate(Categories.java:44)
09-11 14:33:10.565: ERROR/AndroidRuntime(161): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1123)
09-11 14:33:10.565: ERROR/AndroidRuntime(161): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2364)
09-11 14:33:10.565: ERROR/AndroidRuntime(161): ... 29 more
예외가 발생한 행을 stacktrace에 게시하고 예외가 발생했음을 지적하십시오. –
'NullPointers'는 쉽게 추적 할 수 있습니다. 나는 왜 그들에 관해 많은 질문이 있는지 모르겠다. ... –
NPE는 어디에 있는가? – st0le