AutoCompleteTextView SQLite Poplulation Ausnahme

Mein erster Beitrag hatte nur weniger als die Hälfte meines Textes, daher der zweite (vollständige) Beitrag.

Ich arbeite an einer Test-App mit SQLite, um zwei AutoCompleteTextView-Dateien zu füllen. Für den Test verwende ich Automarke und Modell

AutoVervollständigen:

makeAutocomplete

modelAutocomplete

Die Liste von makeAutocomplete wird von einer SQL-Abfrage ausgefüllt und funktioniert einwandfrei

Die zweite wird ausgefüllt, wenn die Marke ausgewählt wird

makeAutoComplete.setOnItemSelectedListener(new OnItemSelectedListener() {

        @Override
        public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) {

            final String[] makeSelected = {arg0.getItemAtPosition(arg2).toString()};
            final String[] modelDeal = sqlDBModel.getAllModelFilter(makeSelected);
            ArrayAdapter<String> modelAdapter = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_dropdown_item_1line, modelDeal);
            initModelAutoComplete(modelAdapter);

        }

        @Override
        public void onNothingSelected(AdapterView<?> arg0) {
            // TODO Auto-generated method stub

        }
    });

initModelAutoComplete-Deklaration

public void initModelAutoComplete(ArrayAdapter<String> adapter){


    //adapter = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, list);
    modelAutoComplete.setAdapter(adapter);
    modelAutoComplete.setThreshold(1);
    modelAutoComplete.setOnItemClickListener(new OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3){
            arg0.getItemAtPosition(arg2);
        }
    });
}

SQLiteModelSearch.getAllModelFilter-Deklaration

    public String[] getAllModelFilter(String[] vehiclemake){

    if(vehiclemake != null){

        Cursor cursor = this.sqliteDBInstance.query(DB_MAKEMODEL_TABLE,
                                                    new String[]{DB_COLUMN_MAKE, DB_COLUMN_MODEL},
                                                    DB_COLUMN_MAKE+"=?",
                                                    vehiclemake,
                                                    null,
                                                    null,
                                                    null,
                                                    null);


        if( cursor != null){
            String[] str = new String[cursor.getCount()];

            int i = 0;
            while(cursor.moveToNext()){
                str[i] = cursor.getString(cursor.getColumnIndex(DB_COLUMN_MODEL));
                i++;
            }
            return str;
        } else {
            Log.i("vehiclemake = ", "NULL");
            return new String[]{};
        }
    }

    return new String[]{};
}

LogCat

07-31 13: 00: 19.631: E / AndroidRuntime (1302): at android.app.ActivityThread.main (ActivityThread.java:3683)

07-31 13: 00: 19.631: E / AndroidRuntime (1302): at java.lang.reflect.Method.invokeNative (Native Method) 07-31 13: 00: 19.631: E / AndroidRuntime (1302): FATAL EXCEPTION: main

07-31 13: 00: 19.631: E / AndroidRuntime (1302): java.lang.NullPointerException

07-31 13: 00: 19.631: E / AndroidRuntime (1302): at com.myapp.sqltest.database.SQLiteModelSearch.getAllModelFilter (SQLiteModelSearch.java:100)

07-31 13: 00: 19.631: E / AndroidRuntime (1302): at com.myapp.sqltest.activity.addVehicleActivity $ 2.onItemSelected (addVehicleActivity.java:62)

07-31 13: 00: 19.631: E / AndroidRuntime (1302): at android.widget.AdapterView.fireOnSelected (AdapterView.java:871)

07-31 13: 00: 19.631: E / AndroidRuntime (1302): at android.widget.AdapterView.access $ 200 (AdapterView.java:42)

07-31 13: 00: 19.631: E / AndroidRuntime (1302): at android.widget.AdapterView $ SelectionNotifier.run (AdapterView.java:837)

07-31 13: 00: 19.631: E / AndroidRuntime (1302): at android.os.Handler.handleCallback (Handler.java:587)

07-31 13: 00: 19.631: E / AndroidRuntime (1302): at android.os.Handler.dispatchMessage (Handler.java:92)

07-31 13: 00: 19.631: E / AndroidRuntime (1302): at android.os.Looper.loop (Looper.java:130)

07-31 13: 00: 19.631: E / AndroidRuntime (1302): at java.lang.reflect.Method.invoke (Method.java:507)

07-31 13: 00: 19.631: E / AndroidRuntime (1302): at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:839)

07-31 13: 00: 19.631: E / AndroidRuntime (1302): at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:597)

07-31 13: 00: 19.631: E / AndroidRuntime (1302): at dalvik.system.NativeStart.main (Native Method)

Ich kann sehen, dass die Ausnahme ausgelöst wird bei:

Cursor cursor = this.sqliteDBInstance.query(DB_MAKEMODEL_TABLE,
                                                    new String[]{DB_COLUMN_MAKE, DB_COLUMN_MODEL},
                                                    DB_COLUMN_MAKE+"=?",
                                                    vehiclemake,
                                                    null,
                                                    null,
                                                    null,
                                                    null);

Aber ich kann nicht sagen, warum, ich habe alle Variablen beobachtet, die in die Funktionen gehen, und keine von ihnen ist null?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage