cctv 请教下,捣鼓了一个设备列表,使用完后是否需要删除或者关闭操作?

dell_keil 2019-08-28 04:55:12
设备列表:

/**
* 设备列表的adapter
*/
private class MyListAdapter extends BaseAdapter {

public MyListAdapter() {
}

@Override
public int getCount() {
return deviceList.size();
}

@Override
public Object getItem(int position) {
return deviceList.get(position);
}

@Override
public long getItemId(int position) {
return position;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder viewHolder;
if (convertView == null) {
convertView = getActivity().getLayoutInflater().inflate(R.layout.layout_item_bt_device, parent, false);
viewHolder = new ViewHolder();
viewHolder.deviceName = (TextView) convertView.findViewById(R.id.device_name);
viewHolder.deviceMac = (TextView) convertView.findViewById(R.id.device_mac);
viewHolder.deviceState = (TextView) convertView.findViewById(R.id.device_state);
convertView.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) convertView.getTag();
}
int code = deviceList.get(position).getBondState();
String name = deviceList.get(position).getName();
String mac = deviceList.get(position).getAddress();
String state;
if (name == null || name.length() == 0) {
name = "未命名设备";
}
if (code == BluetoothDevice.BOND_BONDED) {
state = "ready";
viewHolder.deviceState.setTextColor(getResources().getColor(R.color.green));
} else {
state = "new";
viewHolder.deviceState.setTextColor(getResources().getColor(R.color.red));
}
if (mac == null || mac.length() == 0) {
mac = "未知 mac 地址";
}
viewHolder.deviceName.setText(name);
viewHolder.deviceMac.setText(mac);
viewHolder.deviceState.setText(state);
return convertView;
}
}

系统每次启动时都会进行
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
listView = (ListView) view.findViewById(R.id.device_list_view);
listAdapter = new MyListAdapter();
listView.setAdapter(listAdapter);
listAdapter.notifyDataSetChanged();
}

工作完成后,点击了 断开按钮

public void bluetoothDisconnect() {

if (listAdapter != null) {

// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
listAdapter.notifyDataSetChanged(); //使用这句后,貌似 android 会出现工作异常提示 ??? 如果不使用这句貌似就没有问题,请教下,这个该如何解决啊 ?????????
// }

listAdapter = null;
Log.d(TAG, "断开连接 listAdapter" );
}

toast("程序关闭");
}



...全文
44 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

51,409

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧