package safeluck.drive.evaluation.fragment; import android.bluetooth.BluetoothDevice; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.text.Html; import android.text.Spanned; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.TextView; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import java.util.ArrayList; import java.util.List; import me.yokeyword.fragmentation.SupportFragment; import safeluck.drive.evaluation.R; import safeluck.drive.evaluation.adapter.AdapterBleList; import safeluck.drive.evaluation.bean.AYBluetoothDevice; import safeluck.drive.evaluation.customview.PullListView; import safeluck.drive.evaluation.customview.PullToRefreshLayout; /** * DriveJudge * Created by lzw on 2020/9/1. 11:40:50 * 邮箱:632393724@qq.com * All Rights Saved! Chongqing AnYun Tech co. LTD */ public class BleScanFragment extends SupportFragment implements AdapterView.OnItemClickListener, PullToRefreshLayout.OnRefreshListener, View.OnClickListener { public static int UPGRADE_17_FRONT = 1; public static int UPGRADE_17_AFTER = 0; private List mWifiList = new ArrayList<>(); private PullListView mLvWifiList; private TextView mTvNoPro; private final static String TAG = BleScanFragment.class.getSimpleName(); private PullToRefreshLayout mPullRefreshLayout; private String mSelectSsid; private TextView mTvNotify; private AdapterBleList mAdapterWifiList; public static BleScanFragment newInstantce(){ return new BleScanFragment(); } private void initListView() { // listView 显示 if (mWifiList != null) { if (mAdapterWifiList == null) { mAdapterWifiList = new AdapterBleList(mWifiList); mLvWifiList.setAdapter(mAdapterWifiList); } else { mAdapterWifiList.setList(mWifiList); } if (mWifiList.isEmpty()) { mTvNotify.setClickable(true); Spanned spanned = Html.fromHtml(getString(R.string.auto_act_to_refresh) + "使用帮助"); mTvNotify.setText(spanned); mTvNoPro.setVisibility(View.VISIBLE); } else { mTvNotify.setClickable(false); mTvNoPro.setVisibility(View.GONE); mTvNotify.setText(getString(R.string.auto_act_to_select)); } } } /** * 初始化列表 */ private void initView(View view) { mLvWifiList = (PullListView) view.findViewById(R.id.lv_wifi_list); mTvNotify = (TextView) view.findViewById(R.id.tv_notify); mTvNoPro = (TextView)view. findViewById(R.id.tv_no_pro); mPullRefreshLayout = (PullToRefreshLayout) view.findViewById(R.id.pr_refresh); mLvWifiList.setOnItemClickListener(this); mPullRefreshLayout.setOnRefreshListener(this); mTvNotify.setOnClickListener(this); } @Nullable @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.activity_auto_ble_list,container,false); initView(view); return view; } @Override public void onItemClick(AdapterView parent, View view, int position, long id) { } @Override public void onRefresh(PullToRefreshLayout pullToRefreshLayout) { if (mAdapterWifiList != null) { if (mWifiList != null) { mWifiList.clear(); mAdapterWifiList.setList(mWifiList); } } else { Log.d(TAG, "mAdapterWifilist == null"); } if (mTvNoPro.getVisibility() != View.GONE) { mTvNoPro.setVisibility(View.GONE); } new Handler() { @Override public void handleMessage(Message msg) { // 千万别忘了告诉控件刷新完毕了哦! mPullRefreshLayout.refreshFinish(PullToRefreshLayout.SUCCEED); addDatas(); if (mWifiList != null) { initListView(); } else { } Log.e(TAG, "onResume"); } }.sendEmptyMessageDelayed(0, 1000); } private void addDatas() { for (int i = 0; i < 5; i++) { mWifiList.add(new AYBluetoothDevice("123"+i)); } } @Override public void onLoadMore(PullToRefreshLayout pullToRefreshLayout) { new Handler() { @Override public void handleMessage(Message msg) { mPullRefreshLayout.loadmoreFinish(PullToRefreshLayout.SUCCEED); } }.sendEmptyMessageDelayed(0, 1000); } @Override public void onClick(View v) { } }