0

これをListView下にスクロールして更新したいと思います。私は使用していますが、メソッド内で待機SwipeRefreshLayoutする時間を調整できないことを除けば、かなりうまく機能しています。だからここに私のHandleronRefresh()onRefresh()

@Override
public void onRefresh() {
    final String net = getString(R.string.alertin);
    final String netErr = getString(R.string.alert_intext);
    ConnectivityManager conn = (ConnectivityManager) 
            getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo ntwrkInf = conn.getActiveNetworkInfo();
    if (ntwrkInf != null && ntwrkInf .isConnected()) {
        ListReq refList = new ListReq();
        refList.execute();
    } else {
        AlertDialogDisp(Main.this, net, netErr);
    }       
    new Handler().postDelayed(new Runnable() {
        @Override public void run() {
            mSwipeRefreshLayout.setRefreshing(false);
        }
    }, 5000); // so it's here, I just put 5000 randomly.
}

Asynctaskご想像のとおり、5000 は私が仕事を終えるのに適切な金額ではありません。これを調整して、Asynctask の終了時に「アニメーションの更新」を終了するにはどうすればよいですか? 前もって感謝します

4

2 に答える 2

0

AsyncTaskで method をオーバーライドしますonPostExecute()。このメソッドは、AsyncTask がタスクを完了すると呼び出されます。

次のようになります。

public class Task extends AsyncTask<Void, Void,Void> {

protected void doInBackground(Void ...) {
    //Your process
}

@Override
protected void onPostExecute(Void...) {
    //Call your onRefresh()
}
于 2014-08-26T06:55:14.893 に答える