Android, как я могу отформатировать arrayList<String>

У меня проблема с форматом arrayList. У меня есть один параметр, который имеет значение

Licence_car:[[คย1453 กรุงเทพมหานคร], [รง2344 กรุงเทพมหานคร], [รน4679 กรุงเทพมหานคร]] (Данные на тайском языке)

Я использую этот параметр, чтобы установить запись списка предпочтений, но он будет отображаться так

Я хочу удалить символ "[" и "]", чтобы сделать переменную, как это 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[] для установки записи в список предпочтений. Я думаю, что я делаю форматирование с этой точки, но я не знаю, как это сделать.

Спасибо за любой ответ и извините за мой английский.

2 ответа

Я должен решить эту проблему. Я создаю входную переменную типа list<string> car_entry; ввести car_licence и вывести результат [คย1453 กรุงเทพมหานคร] поэтому я постараюсь изменить тип переменной на строку и вывод คย1453 กรุงเทพมหานคร в результате charSequenceCarEntry является Licence_car:[คย1453 กรุงเทพมหานคร, รง2344 กรุงเทพมหานคร, รน4679 กรุงเทพมหานคร]. Хорошо, теперь это сделано, спасибо за любой ответ снова.:)

Привет, разработчик! Вы можете создать свою последовательность символов перед сохранением в списке массивов, но я даю пример кода, пожалуйста, используйте его, вот он:

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);
Другие вопросы по тегам