0

나는 형식 arrayList.I에 문제가 하나 개의 매개 변수가 값이 한이안드로이드 난의 ArrayList를 포맷 할 수있는 방법을 <String>

Licence_car:[[คย1453 กรุงเทพมหานคร], [รง2344 กรุงเทพมหานคร], [รน4679 กรุงเทพมหานคร]]

나는 목록의 항목을 설정하려면이 매개 변수를 사용 (데이터는 태국어입니다) 선호도는 다음과 같이 표시됩니다. 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(); 
     } 
} 

나는 내가이 시점에서 포맷 할 생각 선호도를 나열하는 설정 항목의 CharSequence []에 기본 설정의 ArrayList에서 값과 포맷을 취득하지만 난 그것을 할 수있는 방법을 모르겠어요.

내 답변에 감사드립니다. 내 영어를 유감스럽게 생각합니다.

+0

currentCars를 가져 오기 직전에 Log.d (TAG, MYprefs.getString ("car_licence _", ""));를 추가하고 여기에 결과를 게시 할 수 있습니다. – Nizam

+0

예 로그 요청을하지만 결과 로그는 다음과 같습니다. '08 -28 11 : 24 : 53.446 : D/DebugLog (8251) : kmonaaafhdhcaabdgkgbhggbcohfhegjgmcoebhchcgbhjemgjhdhehiibncbnjjmhgbjnadaaabejaaaehdgjhkgfhihaaaaaaaadhhaeaaaaaaamheaadefloaliieoalikcdbdedfddcaoaliiboalikdoalilioaliihoaljiaoalijhoalijooalikboalikloalilcoalijjoaliieoalikdfnheaadefloalikdoaliihdcdddedecaoaliiboalikdoalilioaliihoaljiaoalijhoalijooalikboalikloalilcoalijjoaliieoalikdfnheaadefloalikdoalijjdedgdhdjcaoaliiboalikdoalilioaliihoaljiaoalijhoalijooalikboalikloalilcoalijjoaliieoalikdfnhi ' –

+0

로그이는 고대의 텍스트가이 텍스트를 표시 왜 몰라? 안녕하세요 (농담 : D) –

답변

0

안녕하세요 개발자, 당신은 배열 목록에 저장하기 전에 당신의 CharSequence를 foramt 수 HETE 내가 샘플 코드를 제공하고이

을 삼았 사용 그래서 여기에 그것을 사용 당신의 경우에 너무

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 กรุงเทพมหานคร]입니다. 그래서 유형 변수를 String으로 변경하려고합니다. 그리고 결과는 คย1453 กรุงเทพมหานคร입니다. charSequenceCarEntry의 결과는 Licence_car:[คย1453 กรุงเทพมหานคร, รง2344 กรุงเทพมหานคร, รน4679 กรุงเทพมหานคร]입니다. 지금은 모든 답변을 다시 한번 감사드립니다. :)

관련 문제