2013-03-13 52 views
0

我有一個列表視圖,每行包含一個TextViewEditText。 同時點擊EditText框軟鍵盤變爲打開,我輸入值。 之後,當按下按鈕關閉鍵盤板時,我的列表視圖被刷新,並且所有在EditText中輸入的值也消失了。如何在listview刷新時保持listview中的文本框值?

請幫助我如何保持關鍵板關閉時的值?

if (ConvertViewP == null) { 
      LayoutInflater inflater = (LayoutInflater) mContextL.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
      ConvertViewP = inflater.inflate(R.layout.add_cart_row_layout, ParentP, false); 
     } 

回答

0

我建議你,你使用SharedPreferences:

SharedPreferences

值寫入到您的喜好通過退出該應用程序,並將它們寫回,當您啓動/進入您的應用程序。

作品真的很適合我。

+0

文本框本身的價值被刪除,我將如何存儲在共享首選項? – Vignesh 2013-03-13 13:34:34

+0

EditText有textWatchListener。只是嘗試存儲數據 – 2013-03-13 13:37:22

+0

我在代碼中進行了更改,現在只在轉換視圖爲空時im充氣佈局,因此文本現在可見,但值在關閉鍵盤時移動到某個其他行文本框中。在我的問題中看到我的代碼... – Vignesh 2013-03-13 13:55:03

0

你可以把它全部放在一個變量中。例如。在ListActivity

Map<Integer, String> mHashMap = new HashMap<Integer, String>(); 

有一些HashMap中凡關鍵將列表項和值的位置文本 inputed到EditText由於在其上設置的監聽器。 (Counting Chars in EditText Changed Listener)。 而在ListAdapter.getView(int position, View convertView, ViewGroup parent)中,您將使用mHashMap,如果有的話,將按位置獲得值以設置爲EditText

如果你想在屏幕方向的變化,保留值,你可以很容易地做到這一點的辯論,因爲MapParcelable,可以同時輸入值後,關閉鍵盤被添加到BundleSaving Android Activity state using Save Instance StateAndroid HashMap in Bundle?