我从数据库表中获取数据,然后在ListView中查看它们。现在我想在Listview中添加一行默认值,即使数据库为空,也必须始终可见。我能怎么做?这是将数据插入Listview
的方法这是字符串,我想包含在Listview
中String defaultValue = "MyString";
private void lista_anni() {
SQLiteDatabase db = new DatabaseHelper(this).getReadableDatabase();
final List<Dettaglio1> dettagli = new ArrayList<Dettaglio1>();
String sql = "SELECT strftime('%Y'," + Table.DATA + ") AS anno FROM Mov GROUP BY anno ORDER BY anno DESC";
Cursor c = db.rawQuery(sql, null);
while (c.moveToNext()) {
Dettaglio1 d = new Dettaglio1();
d.anno = c.getInt(0);
dettagli.add(d);
}
c.close();
db.close();
ListAdapter adapter = new ArrayAdapter<Dettaglio1>(this, R.layout.dettaglio_elenco_operatori_statistiche, R.id.tv_nome_categoria, dettagli) {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View row = super.getView(position, convertView, parent);
TextView tv_Anno;
tv_Anno = (TextView) row.findViewById(R.id.tv_nome_categoria);
final Dettaglio1 d = dettagli.get(position);
String annotv_ = String.valueOf(d.anno);
tv_Anno.setText(annotv_);
listaAnni.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
}
});
return row;
}
};
listaAnni.setAdapter(adapter);
}
答案 0 :(得分:0)
只需将默认值添加到列表中:
SQLiteDatabase db = new DatabaseHelper(this).getReadableDatabase();
final List<Dettaglio1> dettagli = new ArrayList<Dettaglio1>();
Dettaglio1 default = new Dettaglio1();
default.anno = my_default_value;
dettagli.add(default); // add here for first position
String sql = "SELECT strftime('%Y'," + Table.DATA + ") AS anno FROM Mov GROUP BY anno ORDER BY anno DESC";
Cursor c = db.rawQuery(sql, null);
while (c.moveToNext()) {
Dettaglio1 d = new Dettaglio1();
d.anno = c.getInt(0);
dettagli.add(d);
}
dettagli.add(default); // add here for last position