feat: 完成图标更新操作

This commit is contained in:
niushuai233 2022-10-26 11:30:55 +08:00
parent 5bb6f8b609
commit 16b195ab7a
7 changed files with 31 additions and 24 deletions

View File

@ -154,18 +154,10 @@ public abstract class BaseActivity extends AppCompatActivity {
* @author niushuai * @author niushuai
* @date: 2022/10/25 16:55 * @date: 2022/10/25 16:55
*/ */
protected void activityIconSelectClickListener() { protected void activityIconSelectClickListener(Integer callbackIconResId) {
findViewById(R.id.device_add_select_icon).setOnClickListener(view -> { findViewById(R.id.device_add_select_icon).setOnClickListener(view -> {
IconSelectDialogFragment iconSelectDialogFragment = new IconSelectDialogFragment(); IconSelectDialogFragment iconSelectDialogFragment = new IconSelectDialogFragment(callbackIconResId);
iconSelectDialogFragment.show(getSupportFragmentManager(), IconSelectDialogFragment.class.getName()); iconSelectDialogFragment.show(getSupportFragmentManager(), IconSelectDialogFragment.class.getName());
getSupportFragmentManager().setFragmentResultListener(IconSelectDialogFragment.class.getSimpleName(),
this, (requestKey, result) -> {
int iconResId = result.getInt(requestKey + Keys.ID);
System.out.println(iconResId);
device.setIconId(iconResId);
});
}); });
} }

View File

@ -29,6 +29,8 @@ public class CommonUiUtil {
DeviceInfo deviceInfo = new DeviceInfo(); DeviceInfo deviceInfo = new DeviceInfo();
deviceInfo.setId(deviceId); deviceInfo.setId(deviceId);
deviceInfo.setIconId(UiUtil.getAppImageCompatResourceTag(activity, R.id.device_add_select_icon));
deviceInfo.setDeviceName(UiUtil.getTextViewTextById(activity, R.id.device_add_name)); deviceInfo.setDeviceName(UiUtil.getTextViewTextById(activity, R.id.device_add_name));
deviceInfo.setCommandPath(UiUtil.getTextViewTextById(activity, R.id.device_add_param_program)); deviceInfo.setCommandPath(UiUtil.getTextViewTextById(activity, R.id.device_add_param_program));
deviceInfo.setCommandStatus(UiUtil.getTextViewTextById(activity, R.id.device_add_param_status)); deviceInfo.setCommandStatus(UiUtil.getTextViewTextById(activity, R.id.device_add_param_status));
@ -53,6 +55,8 @@ public class CommonUiUtil {
Device device = new Device(); Device device = new Device();
device.setId(deviceId); device.setId(deviceId);
device.setIconId(UiUtil.getAppImageCompatResourceTag(activity, R.id.device_add_select_icon));
device.setDeviceName(UiUtil.getTextViewTextById(activity, R.id.device_add_name)); device.setDeviceName(UiUtil.getTextViewTextById(activity, R.id.device_add_name));
device.setCommandPath(UiUtil.getTextViewTextById(activity, R.id.device_add_param_program)); device.setCommandPath(UiUtil.getTextViewTextById(activity, R.id.device_add_param_program));
device.setCommandStatus(UiUtil.getTextViewTextById(activity, R.id.device_add_param_status)); device.setCommandStatus(UiUtil.getTextViewTextById(activity, R.id.device_add_param_status));

View File

@ -30,6 +30,7 @@ public class GlobalVariables {
for (Device device : deviceList) { for (Device device : deviceList) {
DEVICE_INFO_MAP.put(device.getId() + "", DeviceInfo.parseDevice(device)); DEVICE_INFO_MAP.put(device.getId() + "", DeviceInfo.parseDevice(device));
} }
System.out.println();
} }
public static Class<? extends BaseActivity> getDeviceAddActivity(String deviceId) { public static Class<? extends BaseActivity> getDeviceAddActivity(String deviceId) {

View File

@ -41,8 +41,14 @@ public class UiUtil {
// ((ImageView) view.findViewById(id)).setImageResource(resId); // ((ImageView) view.findViewById(id)).setImageResource(resId);
// } // }
public static int getAppImageCompatResourceTag(Activity activity, int id) {
return (int) ((AppCompatImageView) activity.findViewById(id)).getTag();
}
public static void setAppImageCompatResource(Activity activity, int id, int resId) { public static void setAppImageCompatResource(Activity activity, int id, int resId) {
((AppCompatImageView) activity.findViewById(id)).setImageResource(resId); AppCompatImageView appCompatImageView = (AppCompatImageView) activity.findViewById(id);
appCompatImageView.setImageResource(resId);
appCompatImageView.setTag(resId);
} }
// public static void setAppImageCompatResource(View view, int id, int resId) { // public static void setAppImageCompatResource(View view, int id, int resId) {

View File

@ -21,6 +21,7 @@ import java.util.Map;
import cc.niushuai.project.devcontrol.R; import cc.niushuai.project.devcontrol.R;
import cc.niushuai.project.devcontrol.base.enums.IconEnum; import cc.niushuai.project.devcontrol.base.enums.IconEnum;
import cc.niushuai.project.devcontrol.base.util.UiUtil;
import cc.niushuai.project.devcontrol.databinding.LayoutIconSelectBinding; import cc.niushuai.project.devcontrol.databinding.LayoutIconSelectBinding;
/** /**
@ -32,6 +33,7 @@ import cc.niushuai.project.devcontrol.databinding.LayoutIconSelectBinding;
public class IconSelectDialogFragment extends DialogFragment { public class IconSelectDialogFragment extends DialogFragment {
private LayoutIconSelectBinding binding; private LayoutIconSelectBinding binding;
private Integer callbackIconResId;
@Override @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
@ -43,6 +45,10 @@ public class IconSelectDialogFragment extends DialogFragment {
return binding.getRoot(); return binding.getRoot();
} }
public IconSelectDialogFragment(Integer callbackIconResId) {
this.callbackIconResId = callbackIconResId;
}
/** /**
* 初始化入口 * 初始化入口
* *
@ -64,7 +70,7 @@ public class IconSelectDialogFragment extends DialogFragment {
GridView iconListGridView = binding.iconListGridView; GridView iconListGridView = binding.iconListGridView;
SimpleAdapter simpleAdapter = new SimpleAdapter(getContext(), getIconList(), R.layout.layout_icon_select, SimpleAdapter simpleAdapter = new SimpleAdapter(getContext(), getIconList(), R.layout.layout_icon_select_item,
new String[]{"icon_select_list_key", "icon_select_list_icon", "icon_select_list_text"}, new String[]{"icon_select_list_key", "icon_select_list_icon", "icon_select_list_text"},
new int[]{R.id.icon_select_list_key, R.id.icon_select_list_icon, R.id.icon_select_list_text} new int[]{R.id.icon_select_list_key, R.id.icon_select_list_icon, R.id.icon_select_list_text}
); );
@ -77,7 +83,9 @@ public class IconSelectDialogFragment extends DialogFragment {
private void iconListClickListener(AdapterView<?> parent, View view, int position, long id) { private void iconListClickListener(AdapterView<?> parent, View view, int position, long id) {
// 跳转到相应的activity // 跳转到相应的activity
String iconId = ((TextView) view.findViewById(R.id.device_type_list_key)).getText().toString(); String iconId = ((TextView) view.findViewById(R.id.icon_select_list_key)).getText().toString();
UiUtil.setAppImageCompatResource(getActivity(), callbackIconResId, Integer.parseInt(iconId));
// 关闭弹出框 // 关闭弹出框
this.dismiss(); this.dismiss();

View File

@ -17,7 +17,6 @@ import cc.niushuai.project.devcontrol.base.util.ToastUtil;
import cc.niushuai.project.devcontrol.databinding.ActivityDeviceAddPowerSwitchBinding; import cc.niushuai.project.devcontrol.databinding.ActivityDeviceAddPowerSwitchBinding;
import cc.niushuai.project.devcontrol.db.DB; import cc.niushuai.project.devcontrol.db.DB;
import cc.niushuai.project.devcontrol.db.entity.Device; import cc.niushuai.project.devcontrol.db.entity.Device;
import cc.niushuai.project.devcontrol.ui.common.IconSelectDialogFragment;
import cc.niushuai.project.devcontrol.ui.powerswitch.PowerSwitchActivity; import cc.niushuai.project.devcontrol.ui.powerswitch.PowerSwitchActivity;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
@ -58,12 +57,7 @@ public class DeviceAddPowerSwitchActivity extends BaseActivity {
// 保存设备信息事件 // 保存设备信息事件
this.activityButtonMoreSetClickListener(this::confirm4SaveDataClickListener); this.activityButtonMoreSetClickListener(this::confirm4SaveDataClickListener);
// icon选择器点击事件 // icon选择器点击事件
this.activityIconSelectClickListener(); this.activityIconSelectClickListener(R.id.device_add_select_icon);
}
protected void iconSelectClickListener(View view) {
} }
/** /**
@ -76,7 +70,7 @@ public class DeviceAddPowerSwitchActivity extends BaseActivity {
private void confirm4SaveDataClickListener(View view) { private void confirm4SaveDataClickListener(View view) {
Device device = CommonUiUtil.getDeviceInfo(this, IdWorker.getNextId()); Device device = CommonUiUtil.getDeviceInfo(this, IdWorker.getNextId());
device.setIconId(R.drawable.ic_device_type_switch); // device.setIconId(R.drawable.ic_device_type_switch);
device.setDeviceType(DeviceTypeEnum.Power_Switch.getValue()); device.setDeviceType(DeviceTypeEnum.Power_Switch.getValue());
device.setOnOff(OnOffEnum.OFF.getValue()); device.setOnOff(OnOffEnum.OFF.getValue());

View File

@ -46,7 +46,9 @@ public class PowerSwitchSetParamActivity extends BaseActivity {
// 隐藏更多按钮 // 隐藏更多按钮
super.activityButtonBackClickListener(this); super.activityButtonBackClickListener(this);
// 保存监听事件 // 保存监听事件
super.activityButtonMoreSetClickListener(this::btnSaveParamClickListener); super.activityButtonMoreSetClickListener(this::btnUpdateParamClickListener);
// icon选择监听事件
super.activityIconSelectClickListener(R.id.device_add_select_icon);
} }
/** /**
@ -56,13 +58,13 @@ public class PowerSwitchSetParamActivity extends BaseActivity {
* @author niushuai * @author niushuai
* @date: 2022/10/25 13:56 * @date: 2022/10/25 13:56
*/ */
private void btnSaveParamClickListener(View view) { private void btnUpdateParamClickListener(View view) {
// 构建更新数据 // 构建更新数据
DeviceInfo deviceInfo = CommonUiUtil.getDeviceInfo(this, device.getId()); DeviceInfo deviceInfo = CommonUiUtil.getDeviceInfo(this, device.getId());
deviceInfo.setDeviceType(device.getDeviceType()); deviceInfo.setDeviceType(device.getDeviceType());
deviceInfo.setOnOff(device.getOnOff()); deviceInfo.setOnOff(device.getOnOff());
deviceInfo.setOrder(device.getOrder()); deviceInfo.setOrder(device.getOrder());
deviceInfo.setIconId(device.getIconId()); // deviceInfo.setIconId(device.getIconId());
deviceInfo.setIsDeleted(device.getIsDeleted()); deviceInfo.setIsDeleted(device.getIsDeleted());
deviceInfo.setCreateTime(device.getCreateTime()); deviceInfo.setCreateTime(device.getCreateTime());
DB.getDeviceDao().update(deviceInfo.toDevice()); DB.getDeviceDao().update(deviceInfo.toDevice());