如何在listview android中的内部存储上显示特定文件?

时间:2017-01-16 17:09:40

标签: android listview android-internal-storage

我在我的应用程序中保存了一些文件,我想在我的listview上显示以.txt结尾的文件,而不是全部。你能帮我吗?

You can see all files in my screenshot, I want to show just .txt ones

以下是我生成listview的方法:

void ShowSavedFiles(){
    SavedFiles = fileList();

    ArrayAdapter adapter = new ArrayAdapter<String>(this,
                                  android.R.layout.simple_list_item_1,
                                  SavedFiles);

    listSavedFiles.setAdapter(adapter);
}

5 个答案:

答案 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

即可