2016-11-13 80 views
0

我正在創建具有Spinner的SQLite應用程序。 Spinner包含來自數據庫表(查詢需要一列)的值。
如果數據庫爲空 - 微調器顯然仍然是空的。
我需要一個條件,告訴我如果微調是空的或不做一些驗證。
這裏是我的代碼:檢查Spinner是否爲空SQLite

public class MainActivity extends AppCompatActivity { 
ArrayList<String> categories; 
ArrayAdapter<String> adapter; 
Spinner spinner; 

protected void onCreate(Bundle savedInstanceState) { 
categories = databaseHelper.getAllCategories(); 

spinner = (Spinner) findViewById(R.id.spinner); 

    adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, categories); 
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    spinner.setAdapter(adapter); 

及我單擊的方式條件:

... 
else if(<the condition i need>) { 
        Toast.makeText(MainActivity.this, "No category selected", Toast.LENGTH_LONG).show(); 
       } 
... 
+0

檢查工作的項目 – pskink

+0

,謝謝:) – Mariachi

回答

2

檢查數組的大小:

if (categories == null || categories.size() == 0) { 
//display your Toast 
} 

或者你可以使用getCount將()方法:

if (adapter.getCount() == 0) { 
//display your Toast 
} 
+0

我用.getCount(),但謝謝:) – Mariachi

+0

OK,只要你想:)請考慮將其標記解決方案最佳,以幫助未來的數用戶有類似的問題:)乾杯 – HelloSadness

0

您可以使用getSelectedItem()。它會返回當前選定的項目。

If (spinner.getSelectedItem() == null) 
{ 
    //To do if nothing selected. 
} 
+0

什麼沒有選定的項目必須做與微調是空的?這個答案是錯誤的。 – Pang