android我怎样才能格式化arrayList <string> </string>

时间:2013-08-28 03:56:01

标签: android character-encoding sharedpreferences android-preferences charsequence

我有格式化arrayList的问题。我有一个参数,它有值

Licence_car:[[คย1453 กรุงเทพมหานคร], [รง2344 กรุงเทพมหานคร], [รน4679 กรุงเทพมหานคร]](数据是ThaiLanguage)

我使用此参数来设置列表首选项的条目,但它将显示如下 enter image description here

我想删除字符是&#34; [&#34;和&#34;]&#34;制作这样的变量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 个答案:

答案 0 :(得分:0)

Hello Developer,            您可以在存储到数组列表之前查找您的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);

答案 1 :(得分:0)

我已经解决了这个问题。我创建输入变量是类型list<string> car_entry;以输入car_licence,输出结果是[คย1453 กรุงเทพมหานคร]所以我将尝试将类型变量更改为String,并且输出为คย1453 กรุงเทพมหานคร,因为charSequenceCarEntry为{ {1}}。现在好了再次感谢任何答案。 :)