fix: 可根据设备类型跳转到不同的设备操作页

This commit is contained in:
niushuai233 2022-10-19 15:28:58 +08:00
parent 2dbdf57e26
commit d238867bc4
2 changed files with 31 additions and 6 deletions

View File

@ -1,5 +1,8 @@
package cc.niushuai.project.devcontrol.base.enums;
import cc.niushuai.project.devcontrol.base.ui.BaseActivity;
import cc.niushuai.project.devcontrol.ui.powerswitch.PowerSwitchActivity;
/**
* 设备类型枚举
*
@ -11,11 +14,31 @@ public enum DeviceTypeEnum {
/**
* 开关
*/
Switch,
Switch("Switch", PowerSwitchActivity.class),
;
/**
* 未知
*/
Unknown;
private String value;
private Class<? extends BaseActivity> activity;
DeviceTypeEnum(String value, Class<? extends BaseActivity> activity) {
this.value = value;
this.activity = activity;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public Class<? extends BaseActivity> getActivity() {
return activity;
}
public void setActivity(Class<? extends BaseActivity> activity) {
this.activity = activity;
}
}

View File

@ -21,6 +21,7 @@ import java.util.List;
import cc.niushuai.project.devcontrol.R;
import cc.niushuai.project.devcontrol.base.entity.device.DeviceInfo;
import cc.niushuai.project.devcontrol.base.util.GlobalVariables;
import cc.niushuai.project.devcontrol.base.util.Keys;
import cc.niushuai.project.devcontrol.databinding.DeviceItemBinding;
import cc.niushuai.project.devcontrol.databinding.MainNavFragmentDeviceBinding;
@ -116,7 +117,8 @@ public class NavDeviceFragment extends Fragment {
private void onItemClick(AdapterView<?> parent, View view, int position, long id) {
TextView textId = view.findViewById(R.id.device_item_cardView_id);
Intent intent = new Intent(getActivity(), PowerSwitchActivity.class);
DeviceInfo deviceInfo = GlobalVariables.DEVICE_INFO_MAP.get(textId.getText());
Intent intent = new Intent(getActivity(), deviceInfo.getType().getActivity());
intent.putExtra(Keys.ID, textId.getText());
startActivity(intent);
}