2012-03-09 63 views
1

我正在使用一個使用EditText作爲一行的ListView。我使用SQLLite DB中的SimpleCursorAdapter填充ListView。當我看着UI時,我看到一堆EditText預填充屏幕上的默認數據。我希望用戶更改該默認文本並最終保留在數據庫中。我無法獲得用戶在ListView中EditText框更改文本的句柄。任何人都會遇到同樣的情況,或者建議其他方法..請感謝您的幫助!ListView- EditText作爲一行 - SimpleCursorAdapter - Android 2.3.3

順便說一句,我使用的是Android 2.3.3

謝謝了!

回答

0

您可以使用setViewBinder(...)方法將一個ViewBinder設置到您的適配器,並在setViewValue(...)方法中爲您的editTexts設置偵聽器。或者您可以編寫自己的自定義適配器類而不是使用SimpleCursorAdapter。

+0

可以請您提供一些示例代碼。讚賞!到目前爲止,我一直在努力嘗試。 – user1257914 2012-03-12 15:49:22

+0

BTW我試圖這... 公共布爾setViewValue(查看視圖,光標光標,INT CI){ \t \t如果(CI == 3){ \t \t最後的EditText V1 =(EditText上)圖。 \t \t \t v1.setText(cursor.getString(ci)); \t \t v1.setFocusable(true); \t \t v1.addTextChangedListener(新TextWatcher(){ \t 公共無效afterTextChanged(編輯S){}} – user1257914 2012-03-12 16:17:45

+0

這可以幫助:http://mgmblog.com/2008/12/29/simpleadapter-viewbinders/看你可以通過調用adapter.setViewBinder(instace_of_view_binder)然後在你的ViewBinder類中設置你的類的一個實例(它將ViewBinder像給定鏈接中的ToolBinder一樣擴展)到你的適配器中,當爲該適配器的視圖設置值時,在editTexts上設置一個偵聽器。 這個例子也會很有用:http://stackoverflow.com/questions/7639779/how-to-listen-for-a-checkbox-in- a-listview-row – 2012-03-12 17:19:20

相關問題