2010-12-19 14 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

相關問題