0

我对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 [],以便将条目设置为列表首选项我认为我从这一点开始格式化,但我不知道该怎么做。

感谢您的任何回答,并对我的英语感到抱歉。

4

2 回答 2

0

我已经解决了这个问题。我创建输入变量是list<string> car_entry;输入 car_licence 的类型,输出结果是[คย1453 กรุงเทพมหานคร],所以我将尝试将类型变量更改为 String,输出是คย1453 กรุงเทพมหานคร由于 charSequenceCarEntry 是Licence_car:[คย1453 กรุงเทพมหานคร, รง2344 กรุงเทพมหานคร, รน4679 กรุงเทพมหานคร].Ok 现在完成了,再次感谢您的任何回答。:)

于 2013-08-28T06:19:02.200 回答
0

您好,开发人员,您可以在存储到数组列表之前格式化您的字符序列,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);
于 2013-08-28T04:41:49.273 回答