diff --git a/.gradle/4.6/fileContent/fileContent.lock b/.gradle/4.6/fileContent/fileContent.lock
index 1361dca8093ac6f043b37ceb5c5d69b1f0d9fa67..4057155ea559a4e5faf9f4dde8569bf4738a560f 100644
Binary files a/.gradle/4.6/fileContent/fileContent.lock and b/.gradle/4.6/fileContent/fileContent.lock differ
diff --git a/.gradle/4.6/fileHashes/fileHashes.bin b/.gradle/4.6/fileHashes/fileHashes.bin
index b5a376b8cbda2d71518bc2300a703a546344f071..bdb7cabbcfa02999f37dd0f3fcba1f2f613f95a0 100644
Binary files a/.gradle/4.6/fileHashes/fileHashes.bin and b/.gradle/4.6/fileHashes/fileHashes.bin differ
diff --git a/.gradle/4.6/fileHashes/fileHashes.lock b/.gradle/4.6/fileHashes/fileHashes.lock
index 720ddbc4ca5a182475e7240482c3bc02253baebd..b8f7a8f2ffcadcad2783039fdf68059d06786dc2 100644
Binary files a/.gradle/4.6/fileHashes/fileHashes.lock and b/.gradle/4.6/fileHashes/fileHashes.lock differ
diff --git a/.gradle/4.6/fileHashes/resourceHashesCache.bin b/.gradle/4.6/fileHashes/resourceHashesCache.bin
index 502861e0b48ab2fb452709e15e1be65d9109fc1a..8ff3e2849f4965c92ab22b8a38a63b474fef8403 100644
Binary files a/.gradle/4.6/fileHashes/resourceHashesCache.bin and b/.gradle/4.6/fileHashes/resourceHashesCache.bin differ
diff --git a/.gradle/4.6/javaCompile/classAnalysis.bin b/.gradle/4.6/javaCompile/classAnalysis.bin
index 1ffac67ce293a3a83c9bca4bb454625c4451ce71..1e7d841e9fa3e5748ebe1a7414da45b2a6d1cb98 100644
Binary files a/.gradle/4.6/javaCompile/classAnalysis.bin and b/.gradle/4.6/javaCompile/classAnalysis.bin differ
diff --git a/.gradle/4.6/javaCompile/jarAnalysis.bin b/.gradle/4.6/javaCompile/jarAnalysis.bin
index e70fa11a65367bb894e6189a7de6ad1bde687f34..43a0a372f67c1ab19842eea6aa1557b2ff162b5c 100644
Binary files a/.gradle/4.6/javaCompile/jarAnalysis.bin and b/.gradle/4.6/javaCompile/jarAnalysis.bin differ
diff --git a/.gradle/4.6/javaCompile/javaCompile.lock b/.gradle/4.6/javaCompile/javaCompile.lock
index 0586c1c278c7d61188a548387ad334eaad939888..5907d11b68b7a23312bc2851f49d23bc7294f3af 100644
Binary files a/.gradle/4.6/javaCompile/javaCompile.lock and b/.gradle/4.6/javaCompile/javaCompile.lock differ
diff --git a/.gradle/4.6/javaCompile/taskHistory.bin b/.gradle/4.6/javaCompile/taskHistory.bin
index 4287b7d6c18ce43f17ce5999242eeaed77221609..f1ff8a06b3af3b788cd4b3ea8a5be7534c84f99e 100644
Binary files a/.gradle/4.6/javaCompile/taskHistory.bin and b/.gradle/4.6/javaCompile/taskHistory.bin differ
diff --git a/.gradle/4.6/javaCompile/taskJars.bin b/.gradle/4.6/javaCompile/taskJars.bin
index 3c63eda59057b78bc2a35464a9e127f2e8e675e3..1cd90988e5dd94f4c59b552c674e28d229687189 100644
Binary files a/.gradle/4.6/javaCompile/taskJars.bin and b/.gradle/4.6/javaCompile/taskJars.bin differ
diff --git a/.gradle/4.6/taskHistory/taskHistory.bin b/.gradle/4.6/taskHistory/taskHistory.bin
index 47848742739ff0eece66ee21c1caa6dd60c54bab..5a393d6dcd6b6f9cd3107309e1de61f40c96a053 100644
Binary files a/.gradle/4.6/taskHistory/taskHistory.bin and b/.gradle/4.6/taskHistory/taskHistory.bin differ
diff --git a/.gradle/4.6/taskHistory/taskHistory.lock b/.gradle/4.6/taskHistory/taskHistory.lock
index 8ea50cde1e9e54648930af2c016498e98f0b4ea2..07a1da7cea0472c7063ce5d2f56781ed08ced6ab 100644
Binary files a/.gradle/4.6/taskHistory/taskHistory.lock and b/.gradle/4.6/taskHistory/taskHistory.lock differ
diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock
index f2fe0587f2232ba79b9322b058f0167d6da83dbd..17718abded2f7043aec9ec8d8b2a5df126930954 100644
Binary files a/.gradle/buildOutputCleanup/buildOutputCleanup.lock and b/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 5d9c0434a94c03f1f11e8b4cc78083282a4e4588..fd52d3c8dd4c2f6e18860652c375f4ba3a6daa27 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -6,7 +6,8 @@
-
+
+
@@ -16,6 +17,9 @@
+
+
+
@@ -28,821 +32,19 @@
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
-
@@ -865,95 +67,121 @@
-
-
+
+
-
-
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
-
-
+
+
-
+
+
-
-
+
+
-
-
-
-
-
-
-
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
+
+
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
+
+
-
-
+
+
-
-
+
+
@@ -961,11 +189,11 @@
-
-
+
+
-
-
+
+
@@ -992,6 +220,11 @@
rxjava2
txt_news_detail_title_value
typeid
+ NewsFragmentAdapter
+ mRefreshLayout
+ initView
+ initCommonView
+ initNewsListFragment()
@@ -10166,15 +9399,8 @@
@@ -10231,6 +9464,7 @@
+
@@ -10238,11 +9472,119 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
@@ -10254,6 +9596,7 @@
+
@@ -10503,7 +9846,14 @@
1559040159497
-
+
+ 1559042669679
+
+
+
+ 1559042669679
+
+
@@ -10511,30 +9861,30 @@
-
-
-
-
-
-
-
-
-
+
-
+
+
-
-
+
+
+
+
+
+
+
+
+
@@ -10545,10 +9895,9 @@
-
-
+
@@ -10556,23 +9905,24 @@
+
-
-
-
+
+
-
+
-
+
+
@@ -10591,185 +9941,29 @@
-
- file://$PROJECT_DIR$/module_me/src/main/java/com/fly/tour/me/NewsTypeListActivity.java
- 40
-
-
-
-
- file://$PROJECT_DIR$/lib_db_news/src/main/java/com/fly/tour/db/dao/NewsDetailDao.java
- 55
-
-
-
file://$PROJECT_DIR$/lib_common/src/main/java/com/fly/tour/common/manager/NewsDBManager.java
- 63
+ 60
file://$PROJECT_DIR$/lib_common/src/main/java/com/fly/tour/common/manager/NewsDBManager.java
- 59
+ 56
file://$PROJECT_DIR$/lib_common/src/main/java/com/fly/tour/common/manager/NewsDBManager.java
- 81
+ 78
-
- file://$PROJECT_DIR$/module_news/src/main/java/com/fly/tour/news/presenter/NewsListPresenter.java
- 42
-
-
-
-
- file://$PROJECT_DIR$/lib_db_news/src/main/java/com/fly/tour/db/dao/NewsDetailDao.java
- 41
-
-
-
-
- file://$PROJECT_DIR$/module_news/src/main/java/com/fly/tour/news/fragment/MainNewsFragment.java
- 28
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -10803,9 +9997,6 @@
-
-
-
@@ -10826,13 +10017,7 @@
-
-
-
-
-
-
-
+
@@ -10854,24 +10039,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -10893,9 +10060,6 @@
-
-
-
@@ -10953,12 +10117,6 @@
-
-
-
-
-
-
@@ -10980,10 +10138,6 @@
-
-
-
-
@@ -10994,122 +10148,268 @@
-
+
-
-
+
+
-
+
-
-
+
+
+
+
+
+
+
+
+
-
-
+
+
+
-
+
-
-
+
+
-
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
-
+
+
+
+
+
+
-
+
-
-
+
+
-
-
-
+
-
-
+
+
-
+
-
-
+
+
+
+
+
+
-
+
-
-
+
+
-
+
-
-
+
+
-
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
-
+
+
-
-
+
+
-
+
-
-
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/FlyTour.iml b/FlyTour.iml
index 4ad05ce35c7a0a39074405001730e63beaee8c6a..61ef72c44d530bb1d78077072b961ae5bad26f27 100644
--- a/FlyTour.iml
+++ b/FlyTour.iml
@@ -1,13 +1,5 @@
-
-
-
-
-
-
-
-
diff --git a/lib_common/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/fly/tour/common/base/BaseFragment$1.class b/lib_common/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/fly/tour/common/base/BaseFragment$1.class
index 325e35a8dd8dad7199aa4e384bf3c9e53085bf49..3d27a6e8917a7b818e8915276df8ea5ee54c0dac 100644
Binary files a/lib_common/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/fly/tour/common/base/BaseFragment$1.class and b/lib_common/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/fly/tour/common/base/BaseFragment$1.class differ
diff --git a/lib_common/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/fly/tour/common/base/BaseFragment.class b/lib_common/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/fly/tour/common/base/BaseFragment.class
index 96fc86593866dd0bc8465d36dda6e1c795b77873..9e0e51abae57dfae76be11b4210e5c58129129c2 100644
Binary files a/lib_common/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/fly/tour/common/base/BaseFragment.class and b/lib_common/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/fly/tour/common/base/BaseFragment.class differ
diff --git a/lib_common/src/main/java/com/fly/tour/common/base/BaseFragment.java b/lib_common/src/main/java/com/fly/tour/common/base/BaseFragment.java
index d9a750dfcff39c09e95c48ca3fe17fb5b74f1e18..f0ff78dfdd4dbdbb21e614a146aaa90a59a373af 100644
--- a/lib_common/src/main/java/com/fly/tour/common/base/BaseFragment.java
+++ b/lib_common/src/main/java/com/fly/tour/common/base/BaseFragment.java
@@ -15,6 +15,7 @@ import com.fly.tour.common.R;
import com.fly.tour.common.event.common.BaseFragmentEvent;
import com.fly.tour.common.mvp.BaseView;
import com.fly.tour.common.util.NetUtil;
+import com.fly.tour.common.util.log.KLog;
import com.fly.tour.common.view.LoadingInitView;
import com.fly.tour.common.view.LoadingTransView;
import com.fly.tour.common.view.NetErrorView;
@@ -112,6 +113,9 @@ public abstract class BaseFragment extends Fragment implements BaseView {
private void lazyLoad() {
//这里进行双重标记判断,必须确保onCreateView加载完毕且页面可见,才加载数据
+ KLog.v("MYTAG","lazyLoad start...");
+ KLog.v("MYTAG","isViewCreated:"+isViewCreated);
+ KLog.v("MYTAG","isViewVisable"+isViewVisable);
if (isViewCreated && isViewVisable) {
initData();
//数据加载完毕,恢复标记,防止重复加载
diff --git a/lib_common/src/main/java/com/fly/tour/common/base/BaseRefreshFragment.java b/lib_common/src/main/java/com/fly/tour/common/base/BaseRefreshFragment.java
index 72b86a41509cc42a4814375e06f10e8f0ee24ea3..d35e20d9b19658a44aa72622e6cd1fc2da639905 100644
--- a/lib_common/src/main/java/com/fly/tour/common/base/BaseRefreshFragment.java
+++ b/lib_common/src/main/java/com/fly/tour/common/base/BaseRefreshFragment.java
@@ -5,6 +5,7 @@ import android.view.View;
import com.fly.tour.common.mvp.BaseModel;
import com.fly.tour.common.mvp.BaseRefreshPresenter;
import com.fly.tour.common.mvp.BaseRefreshView;
+import com.fly.tour.common.util.log.KLog;
import com.refresh.lib.BaseRefreshLayout;
import com.refresh.lib.DaisyRefreshLayout;
@@ -68,7 +69,9 @@ public abstract class BaseRefreshFragment
+ * Author: gxl
+ * Date: 2019/5/29
+ * Version: V1.0.0
+ * Update:
+ */
+public class NewsDetailCurdEvent extends BaseEvent {
+ public NewsDetailCurdEvent(int code) {
+ super(code);
+ }
+}
diff --git a/lib_common/src/main/java/com/fly/tour/common/event/me/NewsTypeCrudEvent.java b/lib_common/src/main/java/com/fly/tour/common/event/me/NewsTypeCrudEvent.java
new file mode 100644
index 0000000000000000000000000000000000000000..a00e7856b5c8643da362ce084e02359a434a5223
--- /dev/null
+++ b/lib_common/src/main/java/com/fly/tour/common/event/me/NewsTypeCrudEvent.java
@@ -0,0 +1,16 @@
+package com.fly.tour.common.event.me;
+
+import com.fly.tour.common.event.BaseEvent;
+
+/**
+ * Description:
+ * Author: gxl
+ * Date: 2019/5/29
+ * Version: V1.0.0
+ * Update:
+ */
+public class NewsTypeCrudEvent extends BaseEvent {
+ public NewsTypeCrudEvent(int code) {
+ super(code);
+ }
+}
diff --git a/lib_common/src/main/java/com/fly/tour/common/manager/NewsDBManager.java b/lib_common/src/main/java/com/fly/tour/common/manager/NewsDBManager.java
index e8592ec561f3fb301ae76581677ae1cdc7661132..7c3fdcbc2f9b95882c84ca65b3d1f2f9c2189f0a 100644
--- a/lib_common/src/main/java/com/fly/tour/common/manager/NewsDBManager.java
+++ b/lib_common/src/main/java/com/fly/tour/common/manager/NewsDBManager.java
@@ -28,7 +28,6 @@ public class NewsDBManager {
public static final String TAG = NewsDBManager.class.getSimpleName();
private static NewsDBManager newsDBManager;
private Context mContext;
- private List mListNewsType;
private NewsDBManager(Context context) {
mContext = context;
@@ -46,18 +45,16 @@ public class NewsDBManager {
}
public void initNewsDB() {
- NewsTypeDao newsTypeDao = new NewsTypeDao(mContext);
- if (newsTypeDao.isEmpty()) {
+ NewsTypeDao mNewsTypeDao = new NewsTypeDao(mContext);
+ if (mNewsTypeDao.isEmpty()) {
Gson gson = new Gson();
Type type = new TypeToken>() {
}.getType();
- mListNewsType = gson.fromJson(getStringByResId(R.raw.news_type), type);
- newsTypeDao.addListNewStype(mListNewsType);
- }else{
- mListNewsType = newsTypeDao.getListNewsType();
+ List mListNewsType = gson.fromJson(getStringByResId(R.raw.news_type), type);
+ mNewsTypeDao.addListNewStype(mListNewsType);
}
NewsDetailDao newsDetailDao = new NewsDetailDao(mContext);
- if(newsDetailDao.isEmpty()){
+ if (newsDetailDao.isEmpty()) {
Gson gson = new Gson();
Type type = new TypeToken>() {
}.getType();
@@ -83,6 +80,6 @@ public class NewsDBManager {
}
public List getListNewsType() {
- return mListNewsType;
+ return new NewsTypeDao(mContext).getListNewsType();
}
}
diff --git a/lib_db_news/src/main/java/com/fly/tour/db/entity/NewsType.java b/lib_db_news/src/main/java/com/fly/tour/db/entity/NewsType.java
index 0e12b8735fe6fcd6e6691926cca6d342616e4e5d..666fee1402c968544542542c1f2fd69b6a0f8ccb 100644
--- a/lib_db_news/src/main/java/com/fly/tour/db/entity/NewsType.java
+++ b/lib_db_news/src/main/java/com/fly/tour/db/entity/NewsType.java
@@ -70,4 +70,9 @@ public class NewsType implements Parcelable {
return new NewsType[size];
}
};
+
+ @Override
+ public String toString() {
+ return "NewsType{" + "id=" + id + ", typename='" + typename + '\'' + ", addtime='" + addtime + '\'' + '}';
+ }
}
diff --git a/module_me/src/main/java/com/fly/tour/me/NewsTypeAddActivity.java b/module_me/src/main/java/com/fly/tour/me/NewsTypeAddActivity.java
index cc83ddaeed75fe4a77e746409e4dffebd1330d76..23f1ffa27abb3db05d3f3da3fea8e58054cb5fcd 100644
--- a/module_me/src/main/java/com/fly/tour/me/NewsTypeAddActivity.java
+++ b/module_me/src/main/java/com/fly/tour/me/NewsTypeAddActivity.java
@@ -8,12 +8,16 @@ import android.view.View;
import android.widget.Button;
import com.fly.tour.common.base.BaseMvpActivity;
+import com.fly.tour.common.event.EventCode;
+import com.fly.tour.common.event.me.NewsTypeCrudEvent;
import com.fly.tour.common.util.ToastUtil;
import com.fly.tour.common.view.SettingBarView;
import com.fly.tour.me.contract.NewsTypeAddContract;
import com.fly.tour.me.model.NewsTypeAddModel;
import com.fly.tour.me.presenter.NewsTypeAddPresenter;
+import org.greenrobot.eventbus.EventBus;
+
/**
* Description:
* Author: gxl
@@ -72,6 +76,7 @@ public class NewsTypeAddActivity extends BaseMvpActivity
* Author: gxl
@@ -36,6 +39,7 @@ public class NewsDetailAddPresenter extends BasePresenter listNewsType = mModel.getListNewsType();
+ KLog.v("MYTAG","listNewsType:"+listNewsType.toString());
if (listNewsType != null && listNewsType.size() > 0) {
mView.refreshData(listNewsType);
}else{
@@ -72,6 +78,7 @@ public class NewsTypeListPresenter extends BaseRefreshPresenter
@@ -23,20 +34,11 @@ import java.util.List;
*/
public class MainNewsFragment extends BaseFragment {
private List titles = new ArrayList<>();
- private List mArrayList = new ArrayList() {
- {
- List listNewsType = NewsDBManager.getInstance(getContext()).getListNewsType();
- if(listNewsType != null && listNewsType.size() > 0){
- for(int i = 0; i < listNewsType.size();i++){
- NewsType newsType = listNewsType.get(i);
- add(NewsListFragment.newInstance(newsType));
- titles.add(newsType.getTypename());
- }
- }
- }
- };
+ private List mListFragments = new ArrayList<>();
private TabLayout mTabLayout;
private ViewPager mViewPager;
+ private NewsFragmentAdapter mNewsFragmentAdapter;
+ private boolean mIsfresh;
public static MainNewsFragment newInstance() {
return new MainNewsFragment();
@@ -46,6 +48,7 @@ public class MainNewsFragment extends BaseFragment {
public int onBindLayout() {
return R.layout.fragment_news_main;
}
+
@Override
public void initView(View view) {
mViewPager = view.findViewById(R.id.pager_tour);
@@ -62,28 +65,16 @@ public class MainNewsFragment extends BaseFragment {
@Override
public void initListener() {
- mViewPager.setOffscreenPageLimit(mArrayList.size());
- mViewPager.setAdapter(new FragmentPagerAdapter(getActivity().getSupportFragmentManager()) {
- @Override
- public Fragment getItem(int position) {
- return mArrayList.get(position);
- }
-
- @Override
- public int getCount() {
- return mArrayList.size();
- }
+ initNewsListFragment();
+ //mViewPager.setOffscreenPageLimit(mListFragments.size());
+ mNewsFragmentAdapter = new NewsFragmentAdapter(getChildFragmentManager());
+ mViewPager.setAdapter(mNewsFragmentAdapter);
+ mNewsFragmentAdapter.refreshViewPager(mListFragments);
- @Nullable
- @Override
- public CharSequence getPageTitle(int position) {
- return titles.get(position);
- }
- });
mTabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
- mArrayList.get(tab.getPosition()).autoLoadData();
+ mListFragments.get(tab.getPosition()).autoLoadData();
}
@Override
@@ -99,8 +90,92 @@ public class MainNewsFragment extends BaseFragment {
mTabLayout.setupWithViewPager(mViewPager);
}
+ class NewsFragmentAdapter extends FragmentPagerAdapter {
+ public FragmentManager mFragmentManager;
+ List pages;
+
+ public NewsFragmentAdapter(FragmentManager fm) {
+ super(fm);
+ mFragmentManager = fm;
+ }
+
+
+ @Override
+ public Fragment getItem(int position) {
+ if (pages != null) {
+ return pages.get(position);
+ }
+ return null;
+ }
+
+
+ @Override
+ public int getCount() {
+ return pages != null ? pages.size() : 0;
+ }
+
+ @Nullable
+ @Override
+ public CharSequence getPageTitle(int position) {
+ return titles.get(position);
+ }
+
+ @Override
+ public int getItemPosition(@NonNull Object object) {
+ return POSITION_NONE;
+ }
+
+ public void refreshViewPager(List listFragments) {
+ if (pages != null && pages.size() > 0) {
+ FragmentTransaction fragmentTransaction = mFragmentManager.beginTransaction();
+ for (NewsListFragment fragment : pages) {
+ fragmentTransaction.remove(fragment);
+ }
+ fragmentTransaction.commit();
+ mFragmentManager.executePendingTransactions();
+ }
+ pages = listFragments;
+ notifyDataSetChanged();
+
+ mViewPager.setCurrentItem(0);
+ }
+ }
+
+ private void initNewsListFragment() {
+ List listNewsType = NewsDBManager.getInstance(getContext()).getListNewsType();
+ KLog.v("MYTAG", "initNewsListFragment start..." + listNewsType.toString());
+ mListFragments.clear();
+ titles.clear();
+ if (listNewsType != null && listNewsType.size() > 0) {
+ for (int i = 0; i < listNewsType.size(); i++) {
+ NewsType newsType = listNewsType.get(i);
+ mListFragments.add(NewsListFragment.newInstance(newsType));
+ titles.add(newsType.getTypename());
+ }
+ }
+ }
+
@Override
public String getToolbarTitle() {
return null;
}
+
+ @Subscribe(threadMode = ThreadMode.MAIN)
+ public void onEvent(NewsTypeCrudEvent event) {
+ mIsfresh = true;
+ }
+
+ @Override
+ public void onHiddenChanged(boolean hidden) {
+ super.onHiddenChanged(hidden);
+ KLog.v("MYTAG", "onHiddenChanged start..." + hidden);
+ if (mIsfresh && !hidden) {
+ KLog.v("MYTAG", "ViewPager refresh start...");
+ mIsfresh = false;
+ mViewPager.setCurrentItem(mListFragments.size() - 1);
+ initNewsListFragment();
+ //mViewPager.setOffscreenPageLimit(mListFragments.size());
+ mNewsFragmentAdapter.refreshViewPager(mListFragments);
+ }
+ }
}
diff --git a/module_news/src/main/java/com/fly/tour/news/fragment/NewsListFragment.java b/module_news/src/main/java/com/fly/tour/news/fragment/NewsListFragment.java
index 178a2c84b08fd0844d4ebc0971cf732862e5a4f0..d9abecfb271577747dbc535d8e66badfa752b3a7 100644
--- a/module_news/src/main/java/com/fly/tour/news/fragment/NewsListFragment.java
+++ b/module_news/src/main/java/com/fly/tour/news/fragment/NewsListFragment.java
@@ -10,7 +10,9 @@ import android.view.View;
import com.fly.tour.common.base.BaseFragment;
import com.fly.tour.common.base.BaseRefreshFragment;
import com.fly.tour.common.event.KeyCode;
+import com.fly.tour.common.event.me.NewsDetailCurdEvent;
import com.fly.tour.common.mvp.BaseRefreshPresenter;
+import com.fly.tour.common.util.log.KLog;
import com.fly.tour.db.entity.NewsDetail;
import com.fly.tour.db.entity.NewsType;
import com.fly.tour.news.adapter.NewsListAdatper;
@@ -19,6 +21,9 @@ import com.fly.tour.news.model.NewsListModel;
import com.fly.tour.news.presenter.NewsListPresenter;
import com.fly.tour.trip.R;
+import org.greenrobot.eventbus.Subscribe;
+import org.greenrobot.eventbus.ThreadMode;
+
import java.util.List;
/**
@@ -61,6 +66,7 @@ public class NewsListFragment extends BaseRefreshFragment data) {
mNewsListAdatper.addAll(data);
}
+ @Subscribe(threadMode = ThreadMode.MAIN)
+ public void onEvent(NewsDetailCurdEvent curdEvent){
+ if(curdEvent.getCode() == mNewsType.getId()){
+ autoLoadData();
+ }
+ }
}