[英]How to remove all null elements from a ArrayList or String Array?
[英]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.