Wenn list.size () == 0 ist, wird die gesamte Verarbeitung in der erweiterten for-Anweisung durchlaufen.
List<hogeDto> list = new ArrayList<>();
//list.size == 0
for(hogeDto dto : list){
Log.d("log",dto.getId());
}
Wird nicht aufgerufen, wenn getCount = 0 ist. Seien Sie vorsichtig, wenn Sie list.size () == 0 in getCount einfügen.
Wenn Sie in textView eine Nummer festlegen, wird diese mit einer Ressourcen-ID verwechselt. Da in der Ressourcen-ID kein Objekt als "3" angegeben ist Ich bekomme eine Fehlermeldung. → Wenn Sie in String und dann in setText konvertieren, tritt kein Fehler auf.
int number = 3;
TextView view = findViewById(R.id.hoge);
view.setText(number);
① Füllen Sie in onCreate () den Adapter mit einer Liste von Farben und zeichnen Sie ein Layout. (2) Wenn onResponse () aufgerufen wird, wird die Liste mit den von der API erhaltenen Daten gefüllt. Zeichnen Sie das Layout erneut.
HogeActivity {
onCreate(){
① Definieren Sie gemeinsame Einstellungen(Wird beim Erwerb der API verwendet. Maßnahmen gegen Null.)
②List<hogeDto> list = new ArrayList<>();
③ Rufen Sie die Methode auf, mit der die Daten von der API abgerufen und in die Liste gepackt werden.
④ Liste an Adapter übergeben
}
//③ Methode
API.getInstance.getHogePoint(){
onResponse(){
//Verarbeitung zum Packen von Daten in List
//Die Adapterdaten haben sich geändert! Benachrichtigung
adapter.notifyDataSetChanged();
}
}
}
Wenn Sie runnable verwenden, verschwindet der Fehler.
/**
*Adapter-Update-Prozess
*/
private Runnable adapterNotify = new Runnable() {
@Override
public void run() {
adapter.notifyDataSetChanged();
}
};
Recommended Posts