package com.lechange.demo.ui;
|
|
import android.os.Bundle;
|
import android.support.annotation.NonNull;
|
import android.support.annotation.Nullable;
|
import android.support.v4.app.Fragment;
|
import android.support.v4.app.FragmentTransaction;
|
import android.view.LayoutInflater;
|
import android.view.View;
|
import android.view.ViewGroup;
|
import android.widget.RelativeLayout;
|
import android.widget.TextView;
|
|
import com.common.openapi.IGetDeviceInfoCallBack;
|
import com.common.openapi.MethodConst;
|
import com.common.openapi.entity.DeviceDetailListData;
|
import com.lechange.demo.R;
|
|
public class DeviceDetailNameFragment extends Fragment implements View.OnClickListener, IGetDeviceInfoCallBack.IModifyDeviceName {
|
private static final String TAG = DeviceDetailNameFragment.class.getSimpleName();
|
private Bundle arguments;
|
private DeviceDetailListData.ResponseData.DeviceListBean deviceListBean;
|
private DeviceDetailActivity deviceDetailActivity;
|
private TextView tvDeviceName;
|
private IGetDeviceInfoCallBack.IModifyDeviceName modifyNameListener;
|
private String fromWhere;
|
|
public static DeviceDetailNameFragment newInstance() {
|
DeviceDetailNameFragment fragment = new DeviceDetailNameFragment();
|
return fragment;
|
}
|
|
@Override
|
public void onCreate(@Nullable Bundle savedInstanceState) {
|
super.onCreate(savedInstanceState);
|
arguments = getArguments();
|
if (arguments == null) {
|
return;
|
}
|
deviceListBean = (DeviceDetailListData.ResponseData.DeviceListBean) arguments.getSerializable(MethodConst.ParamConst.deviceDetail);
|
//不为空 列表页跳转
|
fromWhere = arguments.getString(MethodConst.ParamConst.fromList);
|
if (deviceListBean == null) {
|
return;
|
}
|
deviceDetailActivity = (DeviceDetailActivity) getActivity();
|
deviceDetailActivity.llOperate.setVisibility(View.GONE);
|
}
|
|
@Nullable
|
@Override
|
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
|
return inflater.inflate(R.layout.fragment_device_detail_name, container, false);
|
}
|
|
@Override
|
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
|
super.onViewCreated(view, savedInstanceState);
|
DeviceDetailActivity deviceDetailActivity = (DeviceDetailActivity) getActivity();
|
deviceDetailActivity.tvTitle.setText(getResources().getString(R.string.lc_demo_device_detail_title));
|
initView(view);
|
}
|
|
private void initView(View view) {
|
view.findViewById(R.id.rl_device_modify).setOnClickListener(this);
|
tvDeviceName = view.findViewById(R.id.tv_device_name);
|
RelativeLayout rlDeviceType = view.findViewById(R.id.rl_detail_type);
|
RelativeLayout rlDeviceSerial = view.findViewById(R.id.rl_device_serial);
|
TextView tvDeviceType = view.findViewById(R.id.tv_device_type);
|
TextView tvDeviceSerial = view.findViewById(R.id.tv_device_serial);
|
if (deviceListBean.channels!=null&&deviceListBean.channels.size() > 1) {
|
//多通道
|
if (MethodConst.ParamConst.fromList.equals(fromWhere)) {
|
tvDeviceName.setText(deviceListBean.name);
|
tvDeviceType.setText(deviceListBean.deviceModel);
|
tvDeviceSerial.setText(deviceListBean.deviceId);
|
}else {
|
tvDeviceName.setText(deviceListBean.channels.get(deviceListBean.checkedChannel).channelName);
|
rlDeviceType.setVisibility(View.GONE);
|
rlDeviceSerial.setVisibility(View.GONE);
|
}
|
} else if (deviceListBean.channels!=null&&deviceListBean.channels.size() == 1){
|
tvDeviceName.setText(deviceListBean.channels.get(deviceListBean.checkedChannel).channelName);
|
tvDeviceType.setText(deviceListBean.deviceModel);
|
tvDeviceSerial.setText(deviceListBean.deviceId);
|
}else {
|
tvDeviceName.setText(deviceListBean.name);
|
tvDeviceType.setText(deviceListBean.deviceModel);
|
tvDeviceSerial.setText(deviceListBean.deviceId);
|
}
|
}
|
|
@Override
|
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
|
super.onActivityCreated(savedInstanceState);
|
}
|
|
@Override
|
public void onClick(View v) {
|
if (getActivity() == null || getActivity().getSupportFragmentManager() == null) {
|
return;
|
}
|
DeviceDetailModifyNameFragment fragment = DeviceDetailModifyNameFragment.newInstance();
|
fragment.setModifyNameListener(this);
|
fragment.setArguments(arguments);
|
FragmentTransaction transaction = getActivity().getSupportFragmentManager().beginTransaction();
|
transaction.hide(this).add(R.id.fr_content, fragment).addToBackStack(null);
|
transaction.commitAllowingStateLoss();
|
}
|
|
public void setModifyNameListener(IGetDeviceInfoCallBack.IModifyDeviceName modifyNameListener) {
|
this.modifyNameListener = modifyNameListener;
|
}
|
|
@Override
|
public void deviceName(String newName) {
|
tvDeviceName.setText(newName);
|
//多通道设备详情
|
if (deviceListBean.channels.size() == 0 ||(deviceListBean.channels.size() > 1 && MethodConst.ParamConst.fromList.equals(fromWhere))) {
|
deviceListBean.name = newName;
|
} else {
|
deviceListBean.channels.get(deviceListBean.checkedChannel).channelName = newName;
|
}
|
if (modifyNameListener != null) {
|
modifyNameListener.deviceName(newName);
|
}
|
}
|
}
|