我在我的应用程序中保存了一些文件,我想在我的listview
上显示以.txt结尾的文件,而不是全部。你能帮我吗?
以下是我生成listview的方法:
void ShowSavedFiles(){
SavedFiles = fileList();
ArrayAdapter adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1,
SavedFiles);
listSavedFiles.setAdapter(adapter);
}
答案 0 :(得分:0)
您需要修改fileList
方法以过滤掉其他文件,因为它看起来像是您的适配器获得的唯一数据。
答案 1 :(得分:0)
你必须创建一个只包含以.txt结尾的文件名的列表,如果使用Java 8,你可以这样做:
SavedFiles = fileList().stream() // Convert list to stream
.filter(fileName -> fileName.endsWith(".txt")) // Filters filename to only keep ones that ends with ".txt"
.collect(Collectors.toList()); // Then collect to a list
答案 2 :(得分:0)
试试这个:
搜索特定值并添加它们
public void search(){
List <String> listClone = new ArrayList<String>();
for (String string : SavedFiles) {
if(string.matches(".txt")){
listClone.add(string);
}
}
}
使用:listview
updatedData(listClone)
public void updatedData(List itemsArrayList) {
adapter .clear();
if (itemsArrayList != null){
for (Object object : itemsArrayList) {
adapter .insert(object, mAdapter.getCount());
}
}
adapter .notifyDataSetChanged();
}
答案 3 :(得分:0)
以下是解决方案:
void ShowSavedFiles(){ArrayList<String> filteredList = new ArrayList<String>();
SavedFiles = fileList();
for(String str: SavedFiles) {
if (str.trim().contains("_cred.txt")) {
filteredList.add(str.trim());}
}
ArrayAdapter adapter
= new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1,
filteredList);
listSavedFiles.setAdapter(adapter);}
答案 4 :(得分:0)
列出android中从外部存储到ListView小部件的所有特定类型的Documents文件。
.doc
只需将.xls
或.your_file_extension
等字符串值更改为---
ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox
authorize: ~/.ssh/id_rsa.pub
keys:
- ~/.ssh/id_rsa
folders:
- map: C:/Users/jarro/Documents/Sites
to: /home/vagrant/Sites
sites:
- map: homestead.localhost
to: /home/vagrant/Sites/homestead
databases:
- homestead
# blackfire:
# - id: foo
# token: bar
# client-id: foo
# client-token: bar
# ports:
# - send: 50000
# to: 5000
# - send: 7777
# to: 777
# protocol: udp