спиннер в диалоге с неверным оператором в fillwindow () - PullRequest
0 голосов
/ 03 апреля 2012

У меня проблема с моим кодом.Я реализовал счетчик в диалоговом окне с предупреждением, но когда я показываю, что он белый, а log cat говорит:

04-03 15:56:17.119: E/Cursor(460): Invalid statement in fillWindow()

Что я могу сделать, чтобы это исправить ??Это код.Я скопировал из другой деятельности, где это работает.Но в этой деятельности это не так.Почему ???

Cursor sp_curs;

    Dialog viewDialog = new Dialog(this);

    viewDialog.getWindow().setFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND,WindowManager.LayoutParams.FLAG_BLUR_BEHIND);

    viewDialog.setTitle("Select Category");

    LayoutInflater li = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View dialogView = li.inflate(R.layout.spinner_alert, null);

    Spinner spinnercategory = (Spinner) dialogView
            .findViewById(R.id.spinQ);

    //Apriamo il db creato tramite MissioniDb a cui passo il contesto della classe attuale ovvero Lista_Missioni
    SpinnerDb sdb=new SpinnerDb(getApplicationContext());

    //apriamo il db
    sdb.open();  

    //Chiamo la Query che in questo caso è un all
    sp_curs=sdb.fetchSPINNER();

    startManagingCursor(sp_curs);

    // create an array to specify which fields we want to display
    String[] from = new String[]{SpinnerDb.SpinnerMetaData.SPINNER_CAT_KEY};

    // create an array of the display item we want to bind our data to
    int[] to = new int[]{android.R.id.text1};

    // create simple cursor adapter
    SimpleCursorAdapter spadapter =
      new SimpleCursorAdapter(this, android.R.layout.simple_spinner_item, sp_curs, from, to );
    spadapter.setDropDownViewResource( android.R.layout.simple_spinner_dropdown_item );

    //stopManagingCursor(sp_curs);
    //Chiudo il db perchè ho finito di riempire la mia list view
    sdb.close();

    spadapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinnercategory.setAdapter(spadapter);

    viewDialog.setContentView(dialogView);
    viewDialog.show();

    spinnercategory.setOnItemSelectedListener(new OnItemSelectedListener() {

        public void onItemSelected(AdapterView<?> parent, View arg1,
                int arg2, long arg3) {
            new_categoria = parent.getSelectedItem().toString();
            listdb.update("7", "Category", new_categoria, "2");
            c.requery();
        }

        public void onNothingSelected(AdapterView<?> arg0) {

        }
    });

Это мой счетчик xml

<?xml version="1.0" encoding="utf-8"?>  

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:paddingLeft="10dip"
>

<Spinner 
android:id="@+id/spinQ" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content"
/> 


</LinearLayout>

1 Ответ

0 голосов
/ 03 апреля 2012

Я собираюсь выйти на конечность и предположить, что у вас есть недопустимый оператор запроса к базе данных где-то около "listdb.update ()".

РЕДАКТИРОВАТЬ: Некоторые быстрый поиск предполагает, что он также потенциально может быть связан с это или более вероятно это (неправильное закрытие курсоров или баз данных).

...