ProgressFragment
http://johnkil.github.io/Android-ProgressFragment っていうのがあるみたいでデモアプリもある模様
みたいにデータをロード中です的なProgressを出しつつ、完了したら
的な感じで、もしデータがなかったら
的なことが出来ると。まぁやってみたのがListFragment対応だけなのだけど
package sample.test;
import android.os.Bundle;
import android.os.Handler;
import android.widget.ArrayAdapter;
import com.devspark.progressfragment.SherlockProgressListFragment;
public class SampleListFragment extends SherlockProgressListFragment {
private Handler mHandler = new Handler();
private ArrayAdapter<String> mAdapter;
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
setEmptyText("no data");
mAdapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1);
setListAdapter(mAdapter);
new Thread() {
@Override
public void run() {
setListShown(false);
for (int i = 0; i < 10; i++) {
mAdapter.add("hoge" + (i + 1));
}
mHandler.postDelayed(new Thread() {
@Override
public void run() {
setListShown(true);
}
}, 3000);
}
}.start();
}
}
的な感じでsetListShownのメソッドを利用することでProgressの状態をコントロールする的な感じで使用出来る模様。無論、ListFragment対応だけじゃなくて普通のFragmentなのも出来る模様だけど、まぁそこら辺はドキュメント読めってことで
結論として、データをロードしているまでの空白の時間に何もしないよりはこういう手法的なのを採用するのもいいのではって
追記
動作画面のキャプチャ動画
{% youtube Td6tBRtk324 %}