Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/214.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android如何修剪SharedReferences名称_Android_Arrays_Sharedpreferences_Spinner_Android Sharedpreferences - Fatal编程技术网

Android如何修剪SharedReferences名称

Android如何修剪SharedReferences名称,android,arrays,sharedpreferences,spinner,android-sharedpreferences,Android,Arrays,Sharedpreferences,Spinner,Android Sharedpreferences,我正在获取我的应用程序创建的所有SharedReference,并将它们插入微调器中,但每个SharedReference都显示为“example.xml”等。我想修剪.xml扩展名,让它们只命名为“example” File prefsdir=新文件(getApplicationInfo().dataDir,“shared_prefs”); if(prefsdir.exists()&&prefsdir.isDirectory()){ String[]list=prefsdir.list();

我正在获取我的应用程序创建的所有SharedReference,并将它们插入微调器中,但每个SharedReference都显示为“example.xml”等。我想修剪.xml扩展名,让它们只命名为“example”

File prefsdir=新文件(getApplicationInfo().dataDir,“shared_prefs”);
if(prefsdir.exists()&&prefsdir.isDirectory()){
String[]list=prefsdir.list();
ArrayAdapter=新的ArrayAdapter(这个,android.R.layout.simple\u expandable\u list\u item\u 1,android.R.id.text1,list);
微调器sp=(微调器)findViewById(R.id.tum_ilaclar);
sp.setAdapter(适配器);
}

您可以使用以下方法创建新方法:

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;
}


这将删除.xml部分。

只需将
“.xml”
替换为
。我得到了它,但有一个数组而不是单个变量。将数组加入字符串,进行替换,然后将字符串重新拆分为一个数组。您可以避免检查
包含()
,并节省一些执行时间。对不起,我无法理解。它给出了一个错误字符串[]list=getList(prefsdir.list());无法解析GetList我只是对代码进行了进一步优化。我使用了我多次引用列表[I]的旧方法。
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());