gpt4 book ai didi

android - 计算数据库数据,然后使用 SimpleCursorAdapter 或 ArrayAdapter 列出它们

转载 作者:行者123 更新时间:2023-11-29 14:11:34 26 4
gpt4 key购买 nike

我几周前才开始在 android 中编程,所以我不太确定如何处理列表值。请帮帮我!我有一些关于在列表中显示来自数据库的数据集的问题。目前我的数据库返回一个游标指向行列表,我想在列表的一行中显示 2 列值。行 xml 如下所示:

 <TextView android:id="@+id/text1"
android:textSize="16sp"
android:textStyle="bold"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>

<TextView android:id="@+id/text2"
android:textSize="14sp"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>

所以我在考虑使用 simplecursoradapter,它可以通过在列表中显示数据来让我的生活更轻松。然而,只有当我想显示原始数据时,这才是正确的。出于我的程序的目的,我需要对原始数据集进行一些计算,然后显示它们。我不确定如何使用 SimpleCursorAdapter 来做到这一点。以下是我如何显示原始数据:

   String[] from = new String[]{BtDbAdapter.KEY_EX_TYPE,BtDbAdapter.KEY_EX_TIMESTAMP};

int[] to = new int[]{R.id.text1, R.id.text2};

// Now create a simple cursor adapter and set it to display
SimpleCursorAdapter records =
new SimpleCursorAdapter(this, R.layout.exset_row, mExsetCursor, from, to);

setListAdapter(records);

在使用 SimpleCursorAdapter 绑定(bind)这些行之前,有没有办法对这些行中的数据进行计算?我试图通过使用 arraylist 和 arrayadapter 来使用另一种方法来执行此操作,但我不知道如何实现在一行中显示 2 个项目。

这是我使用 arrayadapter 的代码,它只连续显示 1 个文本而不是连续显示 2 个 TextView :

  //fill in the array
timestamp_arr = new ArrayList<String>();
type_arr = new ArrayList<String>();
fillRecord();

Log.d(TAG,"setting now in recordlist");
setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item,timestamp_arr));
setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item2,type_arr));

很明显,它连续只显示一个 TextView ,因为我设置了第二个 arrayadapter 覆盖了第一个!我试图为他们使用 R.id.text1 和 R.id.text2,但它给了我一些错误提示04-23 01:40:58.658: 错误/AndroidRuntime (3309): android.content.res.Resources$NotFoundException: 资源 ID #0x7f070008 类型 #0x12 无效

我相信第二种方法可以做到这一点,但我不确定如何处理布局问题,所以如果您有任何建议,请提出来。谢谢你!!

最佳答案

SimpleCursorAdapter 就是这样,简单吧。更详细的要求需要不同的适配器。在您的情况下,切换到 ResourceCursorAdapter 并覆盖 bindView()。调用 view.findViewById(R.id.text1),从光标中获取数据,进行修改并将文本设置到 View 。

在您的情况下,我会避免切换到 ArrayAdapter。例如。您可以轻松地刷新游标适配器,它将消耗更少的资源并更好地扩展。

关于android - 计算数据库数据,然后使用 SimpleCursorAdapter 或 ArrayAdapter 列出它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2696485/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com