相対レイアウトを拡張するクラスがあります。ビューページ インジケーターのフラグメント内でこのクラスを呼び出します。
public class rl_latest_news extends RelativeLayout
private PullRefreshContainerView mContainerView;
private TextView mRefreshHeader;
{public rl_latest_news(Context context) {
super(context);
// TODO Auto-generated constructor stub
inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
inflater.inflate(R.layout.layout_latest_news, this, true);
mContainerView = (PullRefreshContainerView) findViewById(R.id.container1);
mRefreshHeader = new TextView(context);
mRefreshHeader.setLayoutParams(new LayoutParams(
LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
mRefreshHeader.setGravity(Gravity.CENTER);
mRefreshHeader.setText(" Pull to refresh...");
mContainerView.setRefreshHeader(mRefreshHeader);
mContainerView.setOnChangeStateListener(new OnChangeStateListener() {
public void onChangeState(PullRefreshContainerView container,
int state) {
switch (state) {
case PullRefreshContainerView.STATE_PULL:
mRefreshHeader.setText(" Pull to refresh ");
break;
case PullRefreshContainerView.STATE_RELEASE:
mRefreshHeader.setText(" Release to refresh ");
break;
case PullRefreshContainerView.STATE_LOADING:{
mRefreshHeader.setText("Loading...");
new Thread(new Runnable() {
public void run() {
//calling asynchronous task inside this
}
}
ビューページ インジケーターは正常に動作します。しかし、問題は、プルを実装して内部を更新できないことです。レイアウトが下に移動せず、一度だけ更新されます。