package jp.mydns.sys1yagi.android_pulltorefreshsample;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshBase.Mode;
import com.handmark.pulltorefresh.library.PullToRefreshBase.OnRefreshListener;
import com.handmark.pulltorefresh.library.PullToRefreshListView;
public class AndroidPullToRefreshSampleActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_android_pull_to_refresh_sample);
final PullToRefreshListView listView = (PullToRefreshListView) findViewById(R.id.list_view);
listView.setMode(Mode.PULL_FROM_START);
final List<String> items = new ArrayList<String>() {
private static final long serialVersionUID = 1L;
{
this.add("red");
this.add("yellow");
this.add("green");
}
};
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, android.R.id.text1, items);
listView.setOnRefreshListener(new OnRefreshListener<ListView>() {
@Override
public void onRefresh(final PullToRefreshBase<ListView> refreshView) {
// リスト更新処理。一般的には通信処理や、データベースアクセスをする為別スレッドで実行する。
// ここではHandlerを使って1秒後にリストを更新する様にしている。
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
items.add("No." + (items.size() + 1));
refreshView.onRefreshComplete();
}
}, 1000);
}
});
listView.setAdapter(adapter);
}
}