刷新事件过短,会导致刷新动画无法消失,解决方法为:延迟执行!
package cgg.com.zhoukao;
import android.annotation.SuppressLint;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshListView;
import org.w3c.dom.Text;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity {
private PullToRefreshListView pListView;
private MyAdapter myAdapter;
private ArrayList<String> list = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setList();
initView();
initPlistView();
}
private void initPlistView() {
// 设置允许上拉
pListView.setMode(PullToRefreshBase.Mode.BOTH);
ListView mListView = pListView.getRefreshableView();
pListView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
@Override
public void onPullDownToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) {
setList();
myAdapter.notifyDataSetChanged();
pListView.postDelayed(new Runnable() {
@Override
public void run() {
pListView.onRefreshComplete();
}
}, 1000);
}
@Override
public void onPullUpToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) {
pListView.postDelayed(new Runnable() {
@Override
public void run() {
pListView.onRefreshComplete();
}
}, 1000);
}
});
myAdapter = new MyAdapter();
mListView.setAdapter(myAdapter);
}
private void initView() {
pListView = findViewById(R.id.plistView);
}
class MyAdapter extends BaseAdapter{
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int position) {
return position;
}
@Override
public long getItemId(int position) {
return position;
}
@SuppressLint("ViewHolder")
@Override
public View getView(int position, View convertView, ViewGroup parent) {
convertView = View.inflate(MainActivity.this, R.layout.item, null);
TextView textView = convertView.findViewById(R.id.item);
textView.setText(list.get(position));
return convertView;
}
}
public void setList(){
for (int i = 0; i < 9; i++) {
list.add("你mmp"+i);
}
}
}