我从数据库表中获取数据,并在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);
}
只需将默认值添加到您的列表中:
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
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句