0

我有一個微調從sqlite填充值(類別表中的類別)現在我需要一個選擇查詢檢索項目到列表視圖。這樣在微調器選擇改變列表視圖值也會改變。項目從另一個表來(項目).cid在項目表和CID外鍵是在類表的主鍵我試過,但顯示空列表視圖....選擇查詢加載微調選擇項目

String select = "SELECT " + 
      Support.KEY_INAME + " FROM " 
      + Support.TABLE_ITEMS + " LEFT JOIN " 
      + Support.TABLE_CAT + " ON " 
      + (Support.TABLE_ITEMS + "." + Support.KEY_CID) +" = " 
      + (Support.TABLE_CAT + "." + Support.KEY_CID) 
      + " WHERE " + Support.TABLE_CAT + "." + Support.KEY_CID + " =?"; 

這是我選擇的微調和加載列表視圖數據代碼...

spinner1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 
     @Override 
     public void onItemSelected(AdapterView<?> parent, View view, final int position, long id) { 

      Spinner spinner = (Spinner)parent; 

      if (spinner.getId() == R.id.spinner1) { 

       dbRepo = new DBRepo(getApplicationContext()); 
       final List<Support> list = dbRepo.getItems1(); 
       adapter = new Custom(Category.this, R.layout.view_entry, list); 
       adapter.setDropDownViewResource(android.R.layout.simple_list_item_1); 

       adapter.notifyDataSetChanged(); 
       lv.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE); 
       lv.setAdapter(adapter); 

}

+0

我已經提到,這是debuged代碼...調試深藏不露的列表視圖 –

+0

後你肯定問題在於選擇不晚? –

+0

是的becase當我設置最後Support.KEY_CID +「= 0」顯示項目有cid 0 –

回答

0

上面的查詢是真實的,或者我解決使用這兩個查詢

String selectQuery = "SELECT * FROM " + TABLE_ITEM + " WHERE " + KEY_CID + " ='" + cid + "'"; 
    Cursor c = db.rawQuery(selectQuery, null); 
我的問題

OR

Cursor c = db.rawQuery("SELECT * FROM item_table WHERE _CategoryID =? " ,new String[]{cid}, null); 

和改變也改變了代碼spinner.setonItemSelected這樣

spinner1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 
     @Override 
     public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 

       handler = new DBSQLite(getBaseContext()); 
       String selected = (String) parent.getItemAtPosition(position); 
       // Toast.makeText(getApplicationContext(), selected, Toast.LENGTH_SHORT).show(); 
       String cid = handler.getCid(selected); 
       final ArrayList<Support> item = handler.getItems(cid); 
       adapter = new CustomAdapter(AvailableItems.this, R.layout.available_view, item); 
       lv.setAdapter(adapter); 
       adapter.notifyDataSetChanged(); 
     } 

     @Override 
     public void onNothingSelected(AdapterView<?> parent) { 

     } 
    });