2010-12-19 67 views
1

我的场景是我有一个活动,显示存储在SQLite数据库中的游标。主布局包含顶部的textview和一个列表视图。然后,我使用simplecursoradapter将光标填充到listadapter中,并将listadapter放入listview中。 simplecursoradapter使用另一种布局。现在的问题是,当我使用simplecursoradapter时,我会在列表视图中显示三列,例如:项目名称,日期和价格。没关系,如果我不改变这些值,那就没关系。如何在同一Activity中更改第二个布局中的值?

其实我想添加一些字符串的价格,并形成新的字符串,如货币符号。根据我的理解,我们只能为一个布局设置ContentView而不是两个布局。 我也尝试填充新的布局和设置值,但失败

LayoutInflater inflater =(LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 查看textEntryView = inflater.inflate(R.layout.itemlist,null); TextView price =(TextView)textEntryView.findViewById(R.id.price); price.setText(currency + c.getString(4).toString());

即使在语法和运行应用程序中没有问题。但是当我运行应用程序并检查listview时,价格仍然只显示价格而不添加货币符号。我只能在主布局下添加货币符号,而不是simplecursoradapter中使用的第二个布局。

实际上,货币是在用户偏好中选择的,我使用sharedpreference来检索它的值并将其添加到光标的价格值中。似乎simplecursoradapter使用不同的布局,所以不能这样做。

有没有人有关于这种情况下的想法?

我将不胜感激,如果方法和代码提供类似的方法。

谢谢!

回答

0

我不确定我是否按照你的问题100%,所以这可能不是你正在寻找的答案。

如果你想拥有在项目的布局如何看待在列表视图控件,你应该做的ArrayAdapter你自己定制的实现:

一个ListAdapter管理由数组支持一个ListView 任意 对象。 (...)使用其他 比TextViews更适合数组显示, 例如,ImageViews或 一些数据除了toString() 结果填充视图,覆盖 getView(int,View,ViewGroup)到 返回你想要的视图类型。

如果你只是谷歌custom arrayadapter example,你应该找到足够的例子,告诉你如何实现这一点。两个这样的例子:

祝你好运:)

+0

感谢您的回复。但似乎你的答案不是我想要的。可能是我试图更清楚地解释。我有一个活动,其中包含textview顶部和listview在textview下。这是主要布局。然后我使用simplecursoradapter并将光标数据填充到listadapter中,并将listadapter放入listview。问题是我不知道如何检索数据并修改simplecursoradapter使用的textview。 listadapter = new SimpleCursorAdapter(this,R.layout.itemlist,listcursor,new String [] {“item”,“time”,“price”},new int [] {R.id.item,R.id。日期,R.id.price}); – 2010-12-19 14:47:28

+0

我想在光标的“价格”中检索数据,价格是光标中的列。然后将货币符号添加到价格并在列表视图中显示。在我的listview中它包含游标数据。每个记录包含项目,日期和价格。但根据我的理解,每个活动只能为一个布局“setContentView”而不是两个。 是否有可能检索simplecursoradapter使用的游标中的列,并将字符串添加到列中并将其显示在列表视图中,但不更改游标列的内容? – 2010-12-19 14:57:59

+0

例如,价格列中的游标中的一条记录是4000,但我想添加像“$”这样的货币符号以形成“$ 4000”,但price列仍然在sqlite数据库中存储4000,在listview中只显示为$ 4000。实际上,simplecursoradapter中的itemlist包含三个textview。 希望你明白我想要做什么,谢谢! – 2010-12-19 14:58:41

0

最后我用bindview解决我的问题。在我的问题中,我已经提到我使用simplecursoradapter从SQLiteDB而不是数组中获取数据。我知道arrayadapter的作品,但它不能有效地为SQLite工作。在我扩展baseadapter来设计我自己的文字视图时添加自定义视图之前。如果有大量数据,它工作但速度太慢。所以simplecursoradapter更高效。

我扩展了simplecursoradapter并为我自己的目的重写了bindview。它适用于我所需要的。

感谢您的帮助和链接arrayadapter

相关问题