java - ListAdapter 在 ListView 中只添加一种类型的数据

标签 java android android-layout listview

有人可以帮我解决这个问题吗?我有两个光标项。

  • 一个获取时间数据
  • 还有一个是从数据库中获取任务的名称。

但它只是在ListView中设置任务。当我删除任务光标时,它会设置时间,但不会同时设置。

我想要这个列表:时间 - 任务名称

这是它的代码部分:

public void updateUI() {
    helper = new TaskDBHelper(MainActivityPhone.this);
    SQLiteDatabase sqlDB = helper.getReadableDatabase();

    Cursor cursor = sqlDB.query(TaskContract.TABLE,
            new String[]{TaskContract.Columns._ID, TaskContract.Columns.TIME},
            null, null, null, null, TaskContract.Columns.TIME + " ASC");

    Cursor cursor2 = sqlDB.query(TaskContract.TABLE,
            new String[]{TaskContract.Columns._ID, TaskContract.Columns.TASK},
            null, null, null, null, TaskContract.Columns.TIME + " ASC");

    listAdapter = new SimpleCursorAdapter(
            this, R.layout.task_view,cursor,
            new String[]{TaskContract.Columns.TIME, TaskContract.Columns.TASK},
            new int[]{R.id.timeTextView, R.id.taskTextView},
            0
    );



  //  Log.v("Cursor Object", DatabaseUtils.dumpCursorToString(cursor));

 /*   Cursor cursor2 = sqlDB.query(TaskContract.TABLE,
            new String[]{TaskContract.Columns._ID, TaskContract.Columns.TASK},
            null, null, null, null, TaskContract.Columns.TIME + " ASC");


  listAdapter = new SimpleCursorAdapter(
            this,
            R.layout.task_view,
            cursor2,
            new String[]{TaskContract.Columns.TASK},
            new int[]{R.id.taskTextView},
            0
    );*/

    ListView listView = (ListView) findViewById(R.id.list);
    listView.setAdapter(listAdapter);





}

最佳答案

您可以做的几件事:

  • 创建您自己的游标适配器,这样您就可以传递 2 个游标,并根据需要显示数据。

  • 将游标与您需要的数据合二为一,这样您就可以使用标准适配器。

  • 将游标组合成一个字符串数组。所以你会得到你需要的数据并将它保存在像这样的字符串中:时间 - 任务名称。然后使用 ArrayAdapter 填充 ListView。

如果您在谷歌上搜索一下,我认为所有这 3 种方法都有足够的代码。我假设问题是当前适配器没有组合两个表的逻辑。

关于java - ListAdapter 在 ListView 中只添加一种类型的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34742401/

相关文章:

android - 处理人的声音

Android Wifi 直接多连接临时

android - 术语 'application signing' 在 Android 中是什么意思?

android - 图形布局编辑器的 "fragment providing context"下拉菜单有什么用?

android - 错误 : No resource identifier found for attribute 'textAlignment' in package 'android'

android - "...must supply a layout_height..."但它在我的风格资源中?

java - BufferedReader 一直等待响应

java - 从java中的ArrayList中删除其他类中使用的对象

java - 使用不同的 T 类调用 print(List<T> a, T b) 时出现错误

java - 如何在 int TestNG XML 文件中进行配置,以便在包含 3 个测试的数据提供者集中仅运行一个测试