0
I’m trying to list in one RecyclerView
in the fragment
, but the return of the list is in a thread, I don’t know if I’m doing something wrong but it doesn’t show any record.
No logcat returns no error, and the list is filled in when I use Debug.
Follows method with the Adapter
being set in and passing the list:
public void ListarArquivosdoFTP() {
new Thread() {
@Override
public void run() {
try {
Recibo recibo = null;
classe_FTP ClienteFTP = new classe_FTP();
ClienteFTP.Conectar("ftp.meuhost.com.br", "usuario", "senha", 21);
FTPFile[] arquivos = ClienteFTP.Dir("/caminho");
if (arquivos != null) {
int length = arquivos.length;
for (int i = 0; i < length; ++i) {
FTPFile f = arquivos[i];
if (f.isFile()) {
recibo = new Recibo();
recibo.setRecibo(f.getName());
ArquivosFTP.add(recibo);
}
}
// Adapter
ReciboAdapter adapter = new ReciboAdapter(ArquivosFTP);
recyclerRecibo.setAdapter(adapter);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}.start();
}
My Receipt Card:
public class ReciboAdapter extends RecyclerView.Adapter<ReciboAdapter.ReciboHolder> {
List<Recibo> listaRecibo;
public ReciboAdapter(List<Recibo> listaRecibo) {
this.listaRecibo = listaRecibo;
}
@NonNull
@Override
public ReciboHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View vista = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.lista_recibo, viewGroup, false);
RecyclerView.LayoutParams layoutParams =
new RecyclerView.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
vista.setLayoutParams(layoutParams);
return new ReciboHolder(vista);
}
@Override
public void onBindViewHolder(@NonNull ReciboHolder reciboHolder, int i) {
reciboHolder.txtRecibo.setText(listaRecibo.get(i).getRecibo().toString());
}
@Override
public int getItemCount() {
return listaRecibo.size();
}
public class ReciboHolder extends RecyclerView.ViewHolder {
TextView txtRecibo;
public ReciboHolder(@NonNull View itemView) {
super(itemView);
txtRecibo = (TextView) itemView.findViewById(R.id.txtRecibo);
}
}
}
Maybe you need the runOnUIThread()
– mrocigno
I will search and try to implement @Rocigno Medeiros.
– Ari