Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/216.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.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 如何获取包含相同名称的所有SharedReference_Android_Sharedpreferences_Spinner - Fatal编程技术网

Android 如何获取包含相同名称的所有SharedReference

Android 如何获取包含相同名称的所有SharedReference,android,sharedpreferences,spinner,Android,Sharedpreferences,Spinner,我想(在spinner中)将所有同名的SharedReference放在一起 现在我只能获得所有共享引用,我不知道如何才能获得相同的命名共享引用,如alarm1、alarm2、alarm3、alarm4、alarm5 final File prefsdir = new File(getApplicationInfo().dataDir,"shared_prefs"); String[] list = prefsdir.list(); ArrayAdapter<String> adap

我想(在spinner中)将所有同名的SharedReference放在一起

现在我只能获得所有共享引用,我不知道如何才能获得相同的命名共享引用,如alarm1、alarm2、alarm3、alarm4、alarm5

final File prefsdir = new File(getApplicationInfo().dataDir,"shared_prefs");
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);
p.setAdapter(adapter);
final File prefsdir=新文件(getApplicationInfo().dataDir,“shared_prefs”);
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);
p、 设置适配器(适配器);

我不太清楚,但请使用for循环

  SharedPreferences.Editor editor = sharedpreferences.edit();            
    for(int i=1;i<list.length;i++){
        editor.putString("alarm"+i,value);
   }
SharedReferences.Editor=SharedReferences.edit();

for(inti=1;i我不太清楚,但使用for循环就可以了

  SharedPreferences.Editor editor = sharedpreferences.edit();            
    for(int i=1;i<list.length;i++){
        editor.putString("alarm"+i,value);
   }
SharedReferences.Editor=SharedReferences.edit();

对于(int i=1;i我了解您想要什么。您可以像这样筛选prefsdir.list()列表并创建适配器

ArrayList<String> filtered_list = new ArrayList<String>()
for(String item : prefsdir.list()){
   if(item.startWith("alarm")){
      filtered_list.add(item)
   }
}
ArrayList filtered\u list=new ArrayList()
for(字符串项:prefsdir.list()){
如果(项目启动时间(“警报”)){
已筛选的\u列表。添加(项)
}
}

但这不是保存数据的好方法。对我来说,你可以使用db来实现。你可以很容易地实现一个库,比如。

我知道你想要什么。你可以像那样过滤prefsdir.list()列表并创建适配器

ArrayList<String> filtered_list = new ArrayList<String>()
for(String item : prefsdir.list()){
   if(item.startWith("alarm")){
      filtered_list.add(item)
   }
}
ArrayList filtered\u list=new ArrayList()
for(字符串项:prefsdir.list()){
如果(项目启动时间(“警报”)){
已筛选的\u列表。添加(项)
}
}
但这不是保存数据的好方法。对我来说,您可以使用db来保存数据。您可以轻松实现一个库,如。

使用筛选器列出文件 删除文件扩展名 这是我以前编写的
FileUtil
类。它使用常规方法从带/不带扩展名的路径获取文件名。您可以使用它在筛选列表中循环以获得所需的内容

package com.example.utils;

import java.io.File;

public final class FileUtil {
    public static String getFilename(String path) {
        if (path == null) {
            return null;
        }
        String[] segments = path.split(File.separator);
        return segments[segments.length - 1];
    }

    public static String getFilenameNoExt(String path) {
        if (path == null) {
            return null;
        }
        String filename = getFilename(path);
        int extension = filename.lastIndexOf(".");
        return (extension >= 0) ? filename.substring(0, extension) : filename;
    }

    private FileUtil(){}
}
使用筛选器列出文件 删除文件扩展名 这是我以前编写的
FileUtil
类。它使用常规方法从带/不带扩展名的路径获取文件名。您可以使用它在筛选列表中循环以获得所需的内容

package com.example.utils;

import java.io.File;

public final class FileUtil {
    public static String getFilename(String path) {
        if (path == null) {
            return null;
        }
        String[] segments = path.split(File.separator);
        return segments[segments.length - 1];
    }

    public static String getFilenameNoExt(String path) {
        if (path == null) {
            return null;
        }
        String filename = getFilename(path);
        int extension = filename.lastIndexOf(".");
        return (extension >= 0) ? filename.substring(0, extension) : filename;
    }

    private FileUtil(){}
}


您的意思是想
Arrays.sort(list)吗;
?在上面的代码中,您在哪里使用SharedReference?不,我只是想让SharedReference从alarm开始,这些是由自动创建的。因此微调器必须只包含alarm1、alarm2、alarm3。每个SharedReference都是一个报警。它包含报警数据。从SharedReference获取所有数据后,您必须自己检查它。您的意思是您想要
数组。排序(列表);
?在上述代码中,您在哪里使用SharedReference?不,我只想让SharedReference从alarm开始,这些是由自动创建的。因此微调器必须只包含alarm1、alarm2、alarm3。每个SharedReference都是一个报警。它包含报警数据。从SharedReference获取所有数据后,您必须自己检查它!一个还有一个问题,如果我正在使用trim.xml扩展名的函数,比如
String[]list=getList(prefsdir.list());
你的意思是在获得过滤后的文件列表后要删除扩展名吗?是的,我忘了告诉你。我只是调用这个函数。
private String[]getList(String[]list){String values[]=new String[list.length];for(int i=0;我相信您的代码(删除扩展名)工作得很好。我发布了我的代码供您参考。它工作得很好!还有一个问题,如果我使用trim.xml扩展名的函数,比如
String[]list=getList(prefsdir.list());
你的意思是在得到过滤文件列表后要删除扩展名?是的,我忘了告诉你。我只是调用了这个函数。
私有字符串[]getList(String[]list){String values[]=new String[list.length];for(int i=0;我相信你的代码(扩展名删除)工作很好。我把我的贴出来供你参考。