Android 如何获取包含相同名称的所有SharedReference
我想(在spinner中)将所有同名的SharedReference放在一起 现在我只能获得所有共享引用,我不知道如何才能获得相同的命名共享引用,如alarm1、alarm2、alarm3、alarm4、alarm5Android 如何获取包含相同名称的所有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
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;我相信你的代码(扩展名删除)工作很好。我把我的贴出来供你参考。