簡體   English   中英

如何從ArrayList中刪除 <String> 除文本文檔之外的所有其他元素?

[英]How to remove from a ArrayList<String> all elements other than text documents?

在我的代碼中,假定僅應添加到以“ .txt”結尾的項目列表,但該列表顯示X文件夾中的所有內容。

這是我的代碼:

private void spinner_dos() {
    //ARRAY CON TITULOS DE ARCHIVOS TXT
    if (carpeta_para_leer == "Textos")
    {
        camino = Environment.getExternalStorageDirectory().toString()+"/" + carpeta_para_leer+ "/";
    }else{
        camino = Environment.getExternalStorageDirectory().toString()+"/Textos/" + carpeta_para_leer+ "/";
    }
    try {
        File t = new File(camino);
        String[] lista_textos = t.list();
        lista_lista_textos = new ArrayList<String>();
        for (String lista_texto : lista_textos) {
            if (lista_texto.toLowerCase().endsWith(".txt")) {
                lista_lista_textos.add(lista_texto);
            }
        }
        for (int index =0; index < lista_lista_textos.size(); index++){
            lista_lista_textos.set(index, WordUtils.capitalizeFully(lista_textos[index].toLowerCase().replace(".txt", "")));

        }
        Collections.sort(lista_lista_textos, new AlphanumComparator());
    }catch (Exception e){

    }

    if (lista_lista_textos.size() ==0 && ar.size() !=0){
        tv1.post(new Runnable() {
            @Override
            public void run() {
                tv1.setText("La carpeta seleccionada no contiene archivos de texto...");
                tv1.setVisibility(View.VISIBLE);
                String[] array_blanco = new String[0];
                ArrayAdapter<String> adaptador = new ArrayAdapter<String>(EL_Entrenamiento.this,   android.R.layout.simple_spinner_item, array_blanco);
                adaptador.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); // The drop down view
                spinner_fichero.setAdapter(adaptador);
            }
        });
        }else{
        tv1.post(new Runnable() {
            @Override
            public void run() {
                tv1.setText("");
                tv1.setVisibility(View.VISIBLE);
            }
        });
        ArrayAdapter<String> adaptador_textos = new ArrayAdapter<String>(EL_Entrenamiento.this,   android.R.layout.simple_spinner_item, lista_lista_textos);
        adaptador_textos.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); // The drop down view
        spinner_fichero.setAdapter(adaptador_textos);
        spinner_fichero.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {

如果項目以“ .txt”結尾或以其他方式消除,該怎么辦?

這個循環:

for (int index =0; index < lista_lista_textos.size(); index++){
    lista_lista_textos.set(index, WordUtils.capitalizeFully(lista_textos[index].toLowerCase().replace(".txt", "")));
}

本質上用大寫的lista_lista_textos覆蓋了lista_textos 索引在列表和數組中將不匹配,因為您沒有添加所有索引。 您應該改為從lista_lista_textos.get(index)閱讀。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM