0
다음은 내 문제를 설명하는 일부 의사 Java 코드입니다. 기본적으로 내 어댑터의 getView()
이보기를 성공적으로 반환하는지 여부에 따라 다른보기 (ViewGood 또는 ViewEmpty)를 반환하려고합니다. 그러나 내가 이해하는 한 setAdapter()
함수 호출은 비동기 적으로 실행되고 ListView는 나중에 setAdapter()
호출 바로 다음에 렌더링되므로 ViewGood
또는 ViewEmpty
을 반환할지 여부를 알 수 없습니다. 누구든지 이것에 대한 해결책을 가지고 있습니까?ListView가 성공적으로 렌더링되면 특정 값을 반환하십시오.
public class MyFragment {
private ListView mListView;
@Override
public onCreateView() {
boolean atLeastOneViewLoaded = false;
mListView.setAdapter(MyAdapter);
if (atLeastOneViewLoaded) {
return ViewGood;
} else {
return ViewEmpty;
}
}
}
public class MyAdapter {
@Override
public View getView() {
// if at least one view returns here successfully, then I want to
// return ViewGood, otherwise return ViewEmpty
}
}
이 접근법의 문제점은'if (atLeastOneViewLoaded) {}'명령이 {{listener.onSuccess()}가 호출 될 때까지 실행을 마쳤으므로 정확한 값을 반환 할 수 없다는 것입니다. – joeschmidt45
당신이 올바르게 접근했다는 것을 안다면, 빈 목록이 있으면 특정보기를 보여주고 싶습니까? 어떤 경우에 ListFragment가 유용할까요? 목록이 비어있는 경우 표시 할 대체보기를 지정할 수 있습니다. http://developer.android.com/reference/android/app/ListFragment.html –