0

我有格式arrayList.I問題已經一個參數是具有價值機器人我怎麼可以格式化的ArrayList <String>

Licence_car:[[คย1453 กรุงเทพมหานคร], [รง2344 กรุงเทพมหานคร], [รน4679 กรุงเทพมหานคร]](Data是一家泰語)

我用這個參數來設置列表中的條目偏好,但它會顯示這樣的 enter image description here

我想刪除字符是「[」和「]」使這樣一個變量Licence_car:[คย1453 กรุงเทพมหานคร, รง2344 กรุงเทพมหานคร, รน4679 กรุงเทพมหานคร]我該怎麼做?

這是我的代碼集條目列表首選項。

@SuppressWarnings("unchecked") 
public void showCar(Context context,ArrayList<String> currentCars){ 
    SharedPreferences MYprefs = context.getSharedPreferences(PREFERENCES, PREFERENCE_MODE); 

    if (null == currentCars) { 
      currentCars = new ArrayList<String>(); 
     } 
     try { 
      currentCars = (ArrayList<String>) ObjectSerializer.deserialize(MYprefs.getString("car_licence_", ObjectSerializer.serialize(new ArrayList<String>()))); 
      //String[] car_list = currentCars.toCharArray; 
      Log.d(TAG,"Licence_car:"+currentCars); 
      final CharSequence[] charSequenceCarEntry = currentCars.toArray(new CharSequence[currentCars.size()]);      

      mCarDefault.setEntries(charSequenceCarEntry); 
      mCarDefault.setEntryValues(charSequenceCarEntry); 
      mCarDelete.setEntries(charSequenceCarEntry); 
      mCarDelete.setEntryValues(charSequenceCarEntry); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } catch (ClassNotFoundException e) { 
      e.printStackTrace(); 
     } 
} 

我得到的ArrayList中的格式的偏好值,併爲CharSequence []爲組項目列出偏好我認爲我不從這個角度格式,但我不知道如何可以做到這一點。

感謝任何回答,併爲我的英語感到抱歉。

+0

只是在獲取currentCars之前,可以添加'Log.d(TAG,MYprefs.getString(「car_licence _」,「」));'並在這裏發佈結果 – Nizam

+0

是的,我做你的日誌請求,但結果日誌是'08 -28 11:24:53.446:d/DEBUGLOG(8251):kmonaaafhdhcaabdgkgbhggbcohfhegjgmcoebhchcgbhjemgjhdhehiibncbnjjmhgbjnadaaabejaaaehdgjhkgfhihaaaaaaaadhhaeaaaaaaamheaadefloaliieoalikcdbdedfddcaoaliiboalikdoalilioaliihoaljiaoalijhoalijooalikboalikloalilcoalijjoaliieoalikdfnheaadefloalikdoaliihdcdddedecaoaliiboalikdoalilioaliihoaljiaoalijhoalijooalikboalikloalilcoalijjoaliieoalikdfnheaadefloalikdoalijjdedgdhdjcaoaliiboalikdoalilioaliihoaljiaoalijhoalijooalikboalikloalilcoalijjoaliieoalikdfnhi」 –

+0

我不知道爲什麼日誌顯示這個文本也這是一個古老的文字?哈哈(笑話:D) –

回答

0

你好開發, 您可以存入數組列表前foramt你的CharSequence,烯酸我給的示例代碼,請使用它所以這裏是 -

CharSequence[] charSequenceCarEntry = new CharSequence[10];   
     int startindex=charSequenceCarEntry.toString().indexOf("["); 
     int endindex=charSequenceCarEntry.toString().indexOf("]"); 
     CharSequence cs =charSequenceCarEntry.toString().substring(startindex, endindex); 

所以你的情況用它喜歡 -

currentCars = (ArrayList<String>) ObjectSerializer.deserialize(MYprefs.getString("car_licence_", ObjectSerializer.serialize(new ArrayList<String>()))); 
final CharSequence[] charSequenceCarEntry = currentCars.toArray(new CharSequence[currentCars.size()]);      
int startindex=charSequenceCarEntry.toString().indexOf("["); 
int endindex=charSequenceCarEntry.toString().indexOf("]"); 
CharSequence cs =charSequenceCarEntry.toString().substring(startindex, endindex); 
mCarDefault.setEntries(cs); 
mCarDefault.setEntryValues(cs); 
mCarDelete.setEntries(cs); 
mCarDelete.setEntryValues(cs); 
+0

是的,它聽起來很好,但它不起作用,因爲我有一個錯誤,startindex的值是-1,endindex是值0,但沒有問題,我解決了我的問題問題在下回答。謝謝你的回答:D –

0

我已經解決了這個問題。我創建輸入變量是類型list<string> car_entry;輸入car_licence和輸出結果是[คย1453 กรุงเทพมหานคร]所以我會嘗試將類型變量更改爲字符串和輸出爲คย1453 กรุงเทพมหานคร作爲charSequenceCarEntry的結果是Licence_car:[คย1453 กรุงเทพมหานคร, รง2344 กรุงเทพมหานคร, รน4679 กรุงเทพมหานคร] .Ok現在完成再次感謝任何答案。 :)

相關問題