【问题标题】:Android how to trim sharedpreferences nameAndroid如何修剪共享首选项名称
【发布时间】:2016-07-02 12:03:18
【问题描述】:

我正在获取由我的应用程序创建的所有共享首选项,并将它们插入到微调器中,但每个共享首选项都显示为“example.xml”等。我想修剪 .xml 扩展名,让它们只像“example”这样的名称。

File prefsdir = new File(getApplicationInfo().dataDir,"shared_prefs");
   if(prefsdir.exists() && prefsdir.isDirectory()){
        String[] list = prefsdir.list();
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1, android.R.id.text1,list);
        Spinner sp = (Spinner) findViewById(R.id.tum_ilaclar);
        sp.setAdapter(adapter);
   }

【问题讨论】:

  • 只需将".xml" 替换为""
  • 我知道了,但是有一个数组不是单个变量。
  • 将数组加入字符串,进行替换,然后将字符串重新拆分为数组

标签: android arrays sharedpreferences spinner android-sharedpreferences


【解决方案1】:

你可以使用这样的东西创建一个新方法:

String[] getList(String[] list){
    String values[] = new String[list.length];
    for(int i=0; i<list.length; i++){
        String value = list[i];
        values[i]=value.contains(".xml")?value.replace(".xml",""):value;
    }
    return values;
}

然后在您的代码中更改:

String[] list = prefsdir.list();

String[] list = getList(prefsdir.list());

这将删除 .xml 部分。

【讨论】:

  • 您可以避免检查contains() 并节省一些执行时间。
  • 对不起,我听不懂。
  • 它给出了一个错误 String[] list = getList(prefsdir.list());无法解析 getlist
  • 我刚刚对代码进行了更多优化。我是多次引用 list[i] 的旧方法。
猜你喜欢
  • 2012-09-03
  • 2015-07-20
  • 2012-03-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-11
  • 2015-09-10
相关资源
最近更新 更多