2016-11-13 81 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