pulltorefresh リストビューを実際のコードに統合することに成功しました。
ただし、リストが更新されると、存在するすべての行がリストの最後に追加されます。更新を行う前にすべてのリスト要素をクリアするという考えに至りましたが、私は固執しています
リストビュー内のこれらの行を削除する方法。行アイテムはキャッシュ可能な要素です。クリアキャッシュのようなものが機能すると思いますか? 任意のアイデアをお願いします。リストビューの行を取り除きたい。
<com.dmobile.pulltorefresh.PullRefreshContainerView
android:id="@+id/container"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:dividerHeight="2dp"
android:scrollingCache="false"
android:listSelector="@drawable/list_selector"
/>
これが私の効率的なアダプターです
EfficientAdapter efficienadapter=new EfficientAdapter(Actualites.this,result);
//EfficientAdapter.isActusAstuce=true;
mList.setAdapter(efficienadapter);
これは私の oncreate メソッドです
mRefreshHeader = 新しい TextView(これ);
mImage= new ImageView(this);
mRefreshHeader.setTextSize(TypedValue.COMPLEX_UNIT_SP,16);
mRefreshHeader.setTypeface(null, Typeface.BOLD);
mRefreshHeader.setTextColor(getResources().getColor(R.color.blue));
mRefreshHeader.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,
LayoutParams.MATCH_PARENT));
mRefreshHeader.setGravity(Gravity.CENTER);
mRefreshHeader.setText("Pull to refresh...");
mImage.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
// LinearLayout.LayoutParams params=new LinearLayout.LayoutParams
// ((int)LayoutParams.WRAP_CONTENT,(int)LayoutParams.WRAP_CONTENT);
// params.leftMargin=50;
// mImage.setLayoutParams(params);
int id = getResources().getIdentifier("boutton_retour", "drawable", getPackageName());
//mImage.setImageResource(id);
mContainerView = (PullRefreshContainerView) findViewById(R.id.container);
mContainerView.setRefreshHeader(mRefreshHeader);
mContainerView.setRefreshHeader(mImage);
mContainerView.setOnChangeStateListener(new OnChangeStateListener() {
@Override
public void onChangeState(PullRefreshContainerView container, int
状態) { スイッチ(状態) {
case PullRefreshContainerView.STATE_IDLE:
case PullRefreshContainerView.STATE_PULL:
mRefreshHeader.setText("Tirez pour actualiser...");
break;
case PullRefreshContainerView.STATE_RELEASE:
mRefreshHeader.setText("Relâchez pour rafraîchir...");
break;
case PullRefreshContainerView.STATE_LOADING:
mRefreshHeader.setText("Chargement en cours...");
new Thread(new Runnable() {
@Override
public void run() {
Actualites.this.runOnUiThread(new Runnable() {
@Override
public void run() {
try {
Thread.sleep(2000);
} catch
(InterruptedException e) {
e.printStackTrace();
}
//refresh ui
new loadingTask().execute("");
mContainerView.completeRefresh();
}
});
}
}).start();
break;
}
}
});
mList = mContainerView.getList();
mList.setCacheColorHint(Color.TRANSPARENT);
// PostList for ListView
/// START AsyncTask here
new loadingTask().execute("");
note new loadingTask().execute("") is an async background task