修复通讯录闪退,当通讯录已加功并可见才加载数据,做网络请求。

master
hwf452 10 months ago
parent 2f448b1cac
commit 5d691a8381

@ -152,7 +152,12 @@ class MainActivity : BaseActivityOaToolbarViewBinding<ActivityMainBinding>() {
binding.rbContact.isChecked = true binding.rbContact.isChecked = true
binding.toolbarView.topLl.visibility = View.VISIBLE binding.toolbarView.topLl.visibility = View.VISIBLE
if(contactFragment.datas.size==0){ if(contactFragment.datas.size==0){
contactFragment.getData() if (contactFragment.isAdded && contactFragment.isVisible) {
// Fragment存在且可见可以安全访问
contactFragment.getData()
} else {
// Fragment不可用或不可见
}
} }
} }

@ -79,10 +79,17 @@ public class ZdqylsActivity extends BaseActivity {
public void initData() { public void initData() {
datas = new ArrayList<>(); datas = new ArrayList<>();
initdatas = new ArrayList<>(); initdatas = new ArrayList<>();
getdata(); adapter = new CwlsAdapter(context, datas);
lv.setAdapter(adapter);
lv.setOnItemClickListener((parent, view, position, id) -> {
Intent intent = new Intent(ZdqylsActivity.this, LrqylsryinfoActivity.class);//临时
intent.putExtra("id", datas.get(position).getId());
startActivity(intent);
});
getData();
} }
public void getdata() { public void getData() {
HttpUtils.getApi().Getlsry((String) SPUtils.get(context, Contans.BZBH, "")).enqueue(new BaseCallBack<ZdqylsBean>(context) { HttpUtils.getApi().Getlsry((String) SPUtils.get(context, Contans.BZBH, "")).enqueue(new BaseCallBack<ZdqylsBean>(context) {
@Override @Override
@ -91,9 +98,12 @@ public class ZdqylsActivity extends BaseActivity {
if (bean != null) { if (bean != null) {
if (bean.getTotal().equals("0")) { if (bean.getTotal().equals("0")) {
showToast("无数据"); showToast("无数据");
datas.clear();
adapter.notifyDataSetChanged();
} else { } else {
datas = bean.getRows(); // datas = bean.getRows();
setAdapter(); datas.addAll(bean.getRows());
adapter.notifyDataSetChanged();
} }
} }
} }
@ -107,26 +117,8 @@ public class ZdqylsActivity extends BaseActivity {
} }
private void setAdapter() {
initdatas.addAll(datas);
if (adapter == null) {
adapter = new CwlsAdapter(context, datas);
lv.setAdapter(adapter);
lv.setOnItemClickListener((parent, view, position, id) -> {
Intent intent = new Intent(ZdqylsActivity.this, LrqylsryinfoActivity.class);//临时
intent.putExtra("id", datas.get(position).getId());
startActivity(intent);
});
} else {
adapter.setNewData(datas);
}
}
/** /**
* *
*
* @param txt * @param txt
*/ */
public void filterData(String txt) { public void filterData(String txt) {

Loading…
Cancel
Save