2012-02-28 57 views
0

我如何能動態視圖添加到自定義光標適配器..哪裏列表視圖樣子的每一行..如何動態地將視圖添加到自定義光標適配器..?

<?XML version="1.0" encoding="utf-8"?> 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_height="wrap_content" android:orientation="horizontal" 
android:layout_width="fill_parent"> 



<TextView android:layout_height="wrap_content" 
android:layout_width="fill_parent" android:layout_weight=".9" 
android:id="@+id/book_name" android:text="Default" 
android:textStyle="bold" /> 




<TextView 
    android:id="@+id/tick" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:gravity="right" 
    android:text="NOT ADDED" /> 

</LinearLayout> 

和適配器的樣子.. ::

package com.himanshu; 

import android.content.Context; 
import android.database.Cursor; 
import android.text.format.DateUtils; 
import android.view.View; 
import android.widget.SimpleCursorAdapter; 
import android.widget.TextView; 

public class ListViewAdapter extends SimpleCursorAdapter 
{ 
    static String[] FROM={DbHelper.BOOK_NAME }; 
    static int[] TO ={R.id.book_name}; 

public ListViewAdapter(Context context, Cursor c) 
{ 
super(context, R.layout.row, c, FROM, TO); 
} 
// This is where the actual binding of a cursor to view happens 
@Override 
public void bindView(View row, Context context, Cursor cursor) 
{ 
super.bindView(row, context, cursor); 

int flag = cursor.getInt(cursor.getColumnIndex(DbHelper.FLAG)); 
if(flag==1) 
{ 
TextView tick = (TextView) row.findViewById(R.id.tick); 
tick.setText("ADDED"); 
} 
} 
} 

我已使用SimpleCursorAdapter,因爲我想通過數據庫訪問數據... 現在,而活動正在運行有一些插入數據庫,我必須顯示在列表視圖..

+0

插入意味着什麼,你想要什麼? – 2012-02-28 14:10:17

+0

其實還有一些更多的條目被添加或者你可以說一些新的行被插入...所以我需要顯示這些新添加的行也... – 2012-02-28 14:16:15

+0

如何添加新的行我的意思是任何按鈕單擊並添加新的行是清除... – 2012-02-28 14:17:46

回答

0

當數據變化你必須陳ge使用光標

changeCursor(your_new_cursor); 

您之前向適配器提供的光標將被關閉。

+0

現在,如果我改變光標,那麼新光標的計算必須從開始時執行,即它將再次從頭開始創建列表視圖....但我只是想添加新插入的行..讓我說早些時候我有10行數據庫中,所以在列表視圖中的10個項目,現在我增加了1多行,所以相應地在列表視圖中的11個項目,但我只是想要的計算這額外增加的行也不適用於前10行也...... – 2012-02-28 14:27:09

1

您應該使用CustomAdapter並重寫getView(position)來實現此功能。

相關問題