From 636c4bb04e4fcd723766b82732990cdb4ae4ea2e Mon Sep 17 00:00:00 2001
From: hxb <hxb@hdlchina.com.cn>
Date: 星期四, 22 二月 2024 15:48:23 +0800
Subject: [PATCH] 删除掉本地库
---
app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java | 204 ++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 171 insertions(+), 33 deletions(-)
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java b/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java
index 24a9ef0..ea34e28 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java
@@ -4,16 +4,39 @@
import android.view.View;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
+import androidx.fragment.app.FragmentTransaction;
+
import com.hdl.photovoltaic.R;
import com.hdl.photovoltaic.base.CustomBaseFragment;
+import com.hdl.photovoltaic.config.ConstantManage;
import com.hdl.photovoltaic.databinding.FragmentMessageBinding;
+import com.hdl.photovoltaic.enums.HomepageTitleTabSwitch;
+import com.hdl.photovoltaic.enums.MessageFunctionTabSwitch;
+import com.hdl.photovoltaic.other.HdlLogLogic;
+import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus;
+
+import org.greenrobot.eventbus.EventBus;
+import org.greenrobot.eventbus.Subscribe;
+import org.greenrobot.eventbus.ThreadMode;
+
+import java.util.ArrayList;
+import java.util.List;
/**
- *
+ * 娑堟伅
*/
public class MessageFragment extends CustomBaseFragment {
private FragmentMessageBinding viewBinding;
+
+ //褰撳墠鏄剧ず鐨刦ragment
+ private static final String CURRENT_FRAGMENT = "state_fragment_show";
+ private FragmentManager mFragmentManager;
+ private Fragment currentFragment = new Fragment();
+ private final List<Fragment> fragmentList = new ArrayList<>();
+ private int currentIndex = 0;
@Override
public Object getContentView() {
@@ -24,6 +47,8 @@
@Override
public void onBindView(Bundle savedInstanceState) {
+ //鍒濆鍖栫鐗�
+ initFragment(savedInstanceState);
//鍒濆鍖栫晫闈�
initView();
//鍒濆鍖栫洃鍚櫒
@@ -33,56 +58,169 @@
}
private void initEvent() {
- viewBinding.messageTabDeviceAlertCl.setOnClickListener(new View.OnClickListener() {
+
+ //鍙戠敓涓�
+ viewBinding.messageTabNascentCl.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- viewBinding.messageTabDeviceAlertTitleTv.setTextColor(getResources().getColor(R.color.text_FFFFFFFF, null));
- viewBinding.messageTabPlatformPushTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
- viewBinding.messageTabDeviceLogTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
- viewBinding.line1V.setVisibility(View.VISIBLE);
- viewBinding.line2V.setVisibility(View.GONE);
- viewBinding.line3V.setVisibility(View.GONE);
+ currentIndex = 0;
+ initView();
+ showFragment();
+ postEventBus(MessageFunctionTabSwitch.nascent);
+
+ }
+ });
+ //宸叉仮澶�
+ viewBinding.messageTabRecoverCl.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ currentIndex = 1;
+ initView();
+ showFragment();
+ postEventBus(MessageFunctionTabSwitch.recover);
}
});
- viewBinding.messageTabPlatformPushCl.setOnClickListener(new View.OnClickListener() {
+ //鍏ㄩ儴
+ viewBinding.messageTabAllCl.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- viewBinding.messageTabDeviceAlertTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
- viewBinding.messageTabPlatformPushTitleTv.setTextColor(getResources().getColor(R.color.text_FFFFFFFF, null));
- viewBinding.messageTabDeviceLogTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
- viewBinding.line1V.setVisibility(View.GONE);
- viewBinding.line2V.setVisibility(View.VISIBLE);
- viewBinding.line3V.setVisibility(View.GONE);
- }
- });
-
- viewBinding.messageTabDeviceLogCl.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- viewBinding.messageTabDeviceAlertTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
- viewBinding.messageTabPlatformPushTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
- viewBinding.messageTabDeviceLogTitleTv.setTextColor(getResources().getColor(R.color.text_FFFFFFFF, null));
- viewBinding.line1V.setVisibility(View.GONE);
- viewBinding.line2V.setVisibility(View.GONE);
- viewBinding.line3V.setVisibility(View.VISIBLE);
+ currentIndex = 2;
+ initView();
+ showFragment();
+ postEventBus(MessageFunctionTabSwitch.all);
}
});
}
private void initView() {
- viewBinding.messageTabDeviceAlertTitleTv.setTextColor(getResources().getColor(R.color.text_FFFFFFFF, null));
- viewBinding.messageTabPlatformPushTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
- viewBinding.messageTabDeviceLogTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
- viewBinding.line1V.setVisibility(View.VISIBLE);
- viewBinding.line2V.setVisibility(View.GONE);
- viewBinding.line3V.setVisibility(View.GONE);
+ if (this.currentIndex == 0) {
+ viewBinding.messageTabNascentTitleTv.setTextColor(getResources().getColor(R.color.text_FFFFFFFF, null));
+ viewBinding.messageTabRecoverTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
+ viewBinding.messageTabAllTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
+ viewBinding.line1V.setVisibility(View.VISIBLE);
+ viewBinding.line2V.setVisibility(View.GONE);
+ viewBinding.line3V.setVisibility(View.GONE);
+ } else if (this.currentIndex == 1) {
+ viewBinding.messageTabNascentTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
+ viewBinding.messageTabRecoverTitleTv.setTextColor(getResources().getColor(R.color.text_FFFFFFFF, null));
+ viewBinding.messageTabAllTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
+ viewBinding.line1V.setVisibility(View.GONE);
+ viewBinding.line2V.setVisibility(View.VISIBLE);
+ viewBinding.line3V.setVisibility(View.GONE);
+ } else if (this.currentIndex == 2) {
+ viewBinding.messageTabNascentTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
+ viewBinding.messageTabRecoverTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
+ viewBinding.messageTabAllTitleTv.setTextColor(getResources().getColor(R.color.text_FFFFFFFF, null));
+ viewBinding.line1V.setVisibility(View.GONE);
+ viewBinding.line2V.setVisibility(View.GONE);
+ viewBinding.line3V.setVisibility(View.VISIBLE);
+ }
+
}
private void initData() {
}
+ /**
+ * 鍙戝竷鐐瑰嚮浜嬩欢
+ *
+ * @param tabSwitch -
+ */
+ private void postEventBus(MessageFunctionTabSwitch tabSwitch) {
+ BaseEventBus baseEventBus = new BaseEventBus();
+ baseEventBus.setTopic(ConstantManage.message_function_tab_switch);
+ baseEventBus.setType(tabSwitch.toString());
+ //鍙戦�佺矘鎬т簨浠�(濡傛灉涓嶅彂绮樻�т簨浠朵細閬囧埌涓�涓病鏈夊姞杞藉嚭鏉ョ殑纰庣墖鎺ユ敹涓嶅埌淇℃伅)
+ EventBus.getDefault().postSticky(baseEventBus);
+ }
+
+ /**
+ * 鍒濆鍖朏ragment
+ *
+ * @param savedInstanceState -
+ */
+ private void initFragment(Bundle savedInstanceState) {
+ mFragmentManager = _mActivity.getSupportFragmentManager();
+ //纰庣墖鍒濆鍖�
+ NascentMessageFragment mNascentMessageFragment = new NascentMessageFragment();
+ RecoverMessageFragment mRecoverMessageFragment = new RecoverMessageFragment();
+ AllMessageFragment mAllMessageFragment = new AllMessageFragment();
+ if (savedInstanceState != null) {
+ //鈥滃唴瀛橀噸鍚�濇椂璋冪敤 鑾峰彇鈥滃唴瀛橀噸鍚�濇椂淇濆瓨鐨勭储寮曚笅鏍�
+ currentIndex = savedInstanceState.getInt(CURRENT_FRAGMENT, 0);
+ if (fragmentList.size() != 0) {
+ fragmentList.clear();
+ }
+ fragmentList.add(mFragmentManager.findFragmentByTag(0 + ""));
+ fragmentList.add(mFragmentManager.findFragmentByTag(1 + ""));
+ fragmentList.add(mFragmentManager.findFragmentByTag(2 + ""));
+ restoreFragment();//鎭㈠fragment椤甸潰
+ } else {
+ //姝e父鍚姩鏃惰皟鐢�
+ fragmentList.add(mNascentMessageFragment);
+ fragmentList.add(mRecoverMessageFragment);
+ fragmentList.add(mAllMessageFragment);
+ showFragment();
+ }
+
+ }
+
+ /**
+ * 浣跨敤show() hide()鍒囨崲椤甸潰
+ * 鏄剧ずfragment
+ */
+ private void showFragment() {
+ FragmentTransaction ft = mFragmentManager.beginTransaction();
+ //濡傛灉涔嬪墠娌℃湁娣诲姞杩�
+ if (!fragmentList.get(currentIndex).isAdded()) {
+ //绗笁涓弬鏁颁负娣诲姞褰撳墠鐨刦ragment鏃剁粦瀹氫竴涓猼ag
+ ft.hide(currentFragment).add(R.id.message_fcv, fragmentList.get(currentIndex), currentIndex + "");
+ } else {
+ ft.hide(currentFragment).show(fragmentList.get(currentIndex));
+ }
+ currentFragment = fragmentList.get(currentIndex);
+ ft.commit();
+ //鎶婂綋鍓嶆樉绀虹殑fragment璁板綍涓嬫潵
+ currentFragment = fragmentList.get(currentIndex);
+
+
+ }
+
+ /**
+ * 鎭㈠fragment
+ */
+ private void restoreFragment() {
+ FragmentTransaction ft = mFragmentManager.beginTransaction();
+ for (int i = 0; i < fragmentList.size(); i++) {
+ if (i == currentIndex) {
+ ft.show(fragmentList.get(i));
+ } else {
+ ft.hide(fragmentList.get(i));
+ }
+ }
+ ft.commit();
+
+ }
+
+ @Subscribe(threadMode = ThreadMode.MAIN, sticky = true)
+ public void onEventMessage(BaseEventBus eventBus) {
+ super.onEventMessage(eventBus);
+ if (eventBus == null) {
+ return;
+ }
+ //鎺ユ敹澶栭儴鐐瑰嚮浜嬩欢
+ if (eventBus.getTopic().equals(ConstantManage.homepage_title_tab_switch)) {
+ if (eventBus.getType().equals(HomepageTitleTabSwitch.message.toString())) {
+ // 鍙栨秷绮樻�т簨浠�
+ EventBus.getDefault().removeStickyEvent(eventBus);
+ postEventBus(MessageFunctionTabSwitch.nascent);
+ HdlLogLogic.print("姝e湪鐐瑰嚮銆愭秷鎭��");
+
+ }
+ }
+ }
}
--
Gitblit v1.8.0