优质最新项目参考:https://github.com/scwang90/SmartRefreshLayout
@Route(path = "/com/RepaymentAct")
public class RepaymentAct extends BaseActivity {
/*教程 https://blog.csdn.net/zhangphil/article/details/77367432*/
private static final int SUANXIN = 0x12;
private static final int MSG_TIME =1;
@Autowired
String strborrowId;
private String mborrowId;
private Drawable isDrawable;
private int needTerm;
private ListView repayment_list_view;
private TextView repayment_needTerm_tv;
private RepaymentVm repaymentVm;
private SwipeRefreshLayout repayment_swipereresh;
private static BaseAdapter adapter;//要实现的类
private List<RepaymentVm> repaymenList = new ArrayList<>();//实体类
private TextView repayment_state_10_tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.repayment_act);
mborrowId = strborrowId;
repayment_needTerm_tv = (TextView) findViewById(R.id.repayment_needTerm_tv);
repayment_list_view = (ListView) findViewById(R.id.repayment_list_view);
repayment_swipereresh = (SwipeRefreshLayout) findViewById(R.id.repayment_swipereresh);//刷新组件
RepayDetail();
getAdapter();
lvClick();
//自动刷新
creditBank_swl.post(new Runnable() {
@Override
public void run() {
mAdapter.notifyDataSetChanged();
creditBank_swl.setRefreshing(true);
new Thread() {
@Override
public void run() {
try {
Thread.sleep(500);
creditList.clear();
} catch (InterruptedException e) {
e.printStackTrace();
}
mHandler.sendEmptyMessage(ISUQ);
}
}.start();
}
});
//手动下拉刷新 repayment_swipereresh.setColorSchemeResources(android.R.color.holo_blue_bright,
android.R.color.holo_green_light, android.R.color.holo_orange_light);
repayment_swipereresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {//刷新方法
adapter.notifyDataSetChanged();
new Thread(){
@Override
public void run() {
try {
Thread.sleep(5000);
repaymenList.clear();
} catch (InterruptedException e) {
e.printStackTrace();
}
mHandler.sendEmptyMessage(SUANXIN);
}
}.start();
}
});
}
//后台接口数据
private void RepayDetail() {
Call<RepaymentRec> callCode = RDClient.getService(UserService.class).getRepayment(mborrowId);
Log.i("RepaymentCtrl__", "RepaymentCtrl=" + mborrowId);
callCode.enqueue(new RequestCallBack<RepaymentRec>() {
@Override
public void onSuccess(Call<RepaymentRec> call, Response<RepaymentRec> response) {
RepaymentData(response.body().getData().getList());
needTerm = response.body().getData().getNeedTerm();
repayment_needTerm_tv.setText(Integer.toString(needTerm));
}
});
}
private void RepaymentData(List<RepaymentRec.DataBean.ListBean> list) {
if (null != list && list.size() != 0) {
for (RepaymentRec.DataBean.ListBean rec : list) {
if (rec != null) {
repaymentVm = new RepaymentVm();
if (rec.getState().equals("10")) {//已
isDrawable = getResources().getDrawable(R.mipmap.yes_re_icon);
}
if (rec.getState().equals("20")) {//没有//灰色图片
isDrawable = getResources().getDrawable(R.mipmap.no_icon);
}
if (rec.getState().equals("30")) {//立即
isDrawable = getResources().getDrawable(R.mipmap.re_icon);
}
repaymentVm.setId(rec.getId());
repaymentVm.setTerm(rec.getTerm());
repaymentVm.setNum(rec.getNum());
repaymentVm.setAmount(rec.getAmount());
repaymentVm.setLateCharge(rec.getLateCharge());
repaymentVm.setLateDay(rec.getLateDay());
repaymentVm.setRepayTime(rec.getRepayTime());
repaymentVm.setState(isDrawable);
adapter.notifyDataSetChanged();
repaymenList.add(repaymentVm);
}
}
}
}
private void getAdapter() {
adapter = new BaseAdapter() {
@Override
public int getCount() {
if (repaymenList == null) {
return 0;
}
return repaymenList.size();//数目
}
@Override
public long getItemId(int position) {//取在列表中与指定索引对应的行id
return position;
}
@Override
public Object getItem(int position) {//获取数据集中与指定索引对应的数据项
return repaymenList.get(position);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = RepaymentAct.this.getLayoutInflater();
View view;
if (convertView == null) {
//因为getView()返回的对象,adapter会自动赋给ListView
view = inflater.inflate(R.layout.repayment_adap, null);
} else {
view = convertView;
}
mHandler.sendEmptyMessage(MSG_TIME);
TextView repayment_num_tv = (TextView) view.findViewById(R.id.repayment_num_tv);
TextView repayment_term_tv = (TextView) view.findViewById(R.id.repayment_term_tv);
TextView repayment_repayTime_tv = (TextView) view.findViewById(R.id.repayment_repayTime_tv);
TextView repayment_amount_tv = (TextView) view.findViewById(R.id.repayment_amount_tv);
repayment_state_10_tv = (TextView) view.findViewById(R.id.repayment_state_10_tv);
if (repaymenList!=null && repaymenList.size()>0){
repayment_num_tv.setText(Integer.toString(repaymenList.get(position).getNum()));
repayment_term_tv.setText(Integer.toString(repaymenList.get(position).getTerm()));
repayment_repayTime_tv.setText(repaymenList.get(position).getRepayTime());
repayment_amount_tv.setText(Integer.toString(repaymenList.get(position).getAmount()));
repayment_state_10_tv.setBackgroundDrawable(repaymenList.get(position).getState());
}
return view;
}
};
repayment_list_view.setAdapter(adapter);
}
private Handler mHandler = new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch (msg.what){
case SUANXIN:
adapter.notifyDataSetChanged();
repayment_swipereresh.setRefreshing(false);
RepayDetail();//刷新调用后台数据方法
break;
case MSG_TIME:
adapter.notifyDataSetChanged();
break;
}
}
};
}
<ListView
android:id="@+id/repay_detail_lv"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerHorizontal="true"
android:layout_centerInParent="true"
android:clickable="false"
android:divider="@null">
</ListView>