具有默认值的Android Listview数据库

J

我从数据库表中获取数据,并在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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

具有数据注释的KendoUI网格默认值

无法获取数据库默认值,返回NoSuchObjectException

Django在数据库中实现默认值

自动数据库迁移后,带有“重新查询”的“无法添加具有默认值NULL的NOT NULL列”

ListView项目不显示数据库中的值

ListView显示数据库中没有任何项目

从数据库填充下拉列表并设置默认值

SSRS数据集可以具有默认值吗?

多列ListView显示零而不是数据库值

所有返回“字段'id'没有默认值”的配置数据库操作

VueJs从数据库中选择默认值

参数@Something没有默认值(Access数据库,Visual Studio VB.NET)

从数据库Android将数据加载到ListView中

Android-在GreenDao数据库中添加默认值

从Android上的SQLite数据库填充ListView

PHP为数据库插入设置默认值

参数没有默认值,数据库c#

在Android上的ListView中显示数据库中的数据

在Android的ListView中显示数据库的数据

具有默认值的text_field无法保存到Rails中的数据库

无法从Android中的数据库填充listView中的数据

使用本地数据库创建listview具有复制数据库android时出错

如何在OpenERP7中使数据库字段具有默认值?

ListView在android中使用数据库

导入SQL数据库datetime的默认值无效

向具有零行的数据框添加具有默认值的列时出错

ListView Android 中的 SQLite 数据库

如何显示数据库中的默认值

Android / MySQL:从 ListView 删除 MySQL 数据库中的数据