Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
门心叼龙
android-mvp-mvvm-flytour
提交
034a6d1f
A
android-mvp-mvvm-flytour
项目概览
门心叼龙
/
android-mvp-mvvm-flytour
通知
7
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
6
列表
看板
标记
里程碑
合并请求
2
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
A
android-mvp-mvvm-flytour
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
6
Issue
6
列表
看板
标记
里程碑
合并请求
2
合并请求
2
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
034a6d1f
编写于
5月 29, 2019
作者:
门心叼龙
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
news refresh add
上级
0788e7b6
变更
28
展开全部
隐藏空白更改
内联
并排
Showing
28 changed file
with
633 addition
and
1190 deletion
+633
-1190
.gradle/4.6/fileContent/fileContent.lock
.gradle/4.6/fileContent/fileContent.lock
+0
-0
.gradle/4.6/fileHashes/fileHashes.bin
.gradle/4.6/fileHashes/fileHashes.bin
+0
-0
.gradle/4.6/fileHashes/fileHashes.lock
.gradle/4.6/fileHashes/fileHashes.lock
+0
-0
.gradle/4.6/fileHashes/resourceHashesCache.bin
.gradle/4.6/fileHashes/resourceHashesCache.bin
+0
-0
.gradle/4.6/javaCompile/classAnalysis.bin
.gradle/4.6/javaCompile/classAnalysis.bin
+0
-0
.gradle/4.6/javaCompile/jarAnalysis.bin
.gradle/4.6/javaCompile/jarAnalysis.bin
+0
-0
.gradle/4.6/javaCompile/javaCompile.lock
.gradle/4.6/javaCompile/javaCompile.lock
+0
-0
.gradle/4.6/javaCompile/taskHistory.bin
.gradle/4.6/javaCompile/taskHistory.bin
+0
-0
.gradle/4.6/javaCompile/taskJars.bin
.gradle/4.6/javaCompile/taskJars.bin
+0
-0
.gradle/4.6/taskHistory/taskHistory.bin
.gradle/4.6/taskHistory/taskHistory.bin
+0
-0
.gradle/4.6/taskHistory/taskHistory.lock
.gradle/4.6/taskHistory/taskHistory.lock
+0
-0
.gradle/buildOutputCleanup/buildOutputCleanup.lock
.gradle/buildOutputCleanup/buildOutputCleanup.lock
+0
-0
.idea/workspace.xml
.idea/workspace.xml
+443
-1143
FlyTour.iml
FlyTour.iml
+0
-8
lib_common/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/fly/tour/common/base/BaseFragment$1.class
...vac/classes/com/fly/tour/common/base/BaseFragment$1.class
+0
-0
lib_common/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/fly/tour/common/base/BaseFragment.class
...Javac/classes/com/fly/tour/common/base/BaseFragment.class
+0
-0
lib_common/src/main/java/com/fly/tour/common/base/BaseFragment.java
.../src/main/java/com/fly/tour/common/base/BaseFragment.java
+4
-0
lib_common/src/main/java/com/fly/tour/common/base/BaseRefreshFragment.java
...in/java/com/fly/tour/common/base/BaseRefreshFragment.java
+3
-0
lib_common/src/main/java/com/fly/tour/common/event/EventCode.java
...on/src/main/java/com/fly/tour/common/event/EventCode.java
+6
-0
lib_common/src/main/java/com/fly/tour/common/event/me/NewsDetailCurdEvent.java
...ava/com/fly/tour/common/event/me/NewsDetailCurdEvent.java
+16
-0
lib_common/src/main/java/com/fly/tour/common/event/me/NewsTypeCrudEvent.java
.../java/com/fly/tour/common/event/me/NewsTypeCrudEvent.java
+16
-0
lib_common/src/main/java/com/fly/tour/common/manager/NewsDBManager.java
.../main/java/com/fly/tour/common/manager/NewsDBManager.java
+6
-9
lib_db_news/src/main/java/com/fly/tour/db/entity/NewsType.java
...b_news/src/main/java/com/fly/tour/db/entity/NewsType.java
+5
-0
module_me/src/main/java/com/fly/tour/me/NewsTypeAddActivity.java
...me/src/main/java/com/fly/tour/me/NewsTypeAddActivity.java
+5
-0
module_me/src/main/java/com/fly/tour/me/presenter/NewsDetailAddPresenter.java
...ava/com/fly/tour/me/presenter/NewsDetailAddPresenter.java
+4
-0
module_me/src/main/java/com/fly/tour/me/presenter/NewsTypeListPresenter.java
...java/com/fly/tour/me/presenter/NewsTypeListPresenter.java
+7
-0
module_news/src/main/java/com/fly/tour/news/fragment/MainNewsFragment.java
...ain/java/com/fly/tour/news/fragment/MainNewsFragment.java
+105
-30
module_news/src/main/java/com/fly/tour/news/fragment/NewsListFragment.java
...ain/java/com/fly/tour/news/fragment/NewsListFragment.java
+13
-0
未找到文件。
.gradle/4.6/fileContent/fileContent.lock
浏览文件 @
034a6d1f
无法预览此类型文件
.gradle/4.6/fileHashes/fileHashes.bin
浏览文件 @
034a6d1f
无法预览此类型文件
.gradle/4.6/fileHashes/fileHashes.lock
浏览文件 @
034a6d1f
无法预览此类型文件
.gradle/4.6/fileHashes/resourceHashesCache.bin
浏览文件 @
034a6d1f
无法预览此类型文件
.gradle/4.6/javaCompile/classAnalysis.bin
浏览文件 @
034a6d1f
无法预览此类型文件
.gradle/4.6/javaCompile/jarAnalysis.bin
浏览文件 @
034a6d1f
无法预览此类型文件
.gradle/4.6/javaCompile/javaCompile.lock
浏览文件 @
034a6d1f
无法预览此类型文件
.gradle/4.6/javaCompile/taskHistory.bin
浏览文件 @
034a6d1f
无法预览此类型文件
.gradle/4.6/javaCompile/taskJars.bin
浏览文件 @
034a6d1f
无法预览此类型文件
.gradle/4.6/taskHistory/taskHistory.bin
浏览文件 @
034a6d1f
无法预览此类型文件
.gradle/4.6/taskHistory/taskHistory.lock
浏览文件 @
034a6d1f
无法预览此类型文件
.gradle/buildOutputCleanup/buildOutputCleanup.lock
浏览文件 @
034a6d1f
无法预览此类型文件
.idea/workspace.xml
浏览文件 @
034a6d1f
此差异已折叠。
点击以展开。
FlyTour.iml
浏览文件 @
034a6d1f
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<module
external.linked.project.id=
"FlyTour"
external.linked.project.path=
"$MODULE_DIR$"
external.root.project.path=
"$MODULE_DIR$"
external.system.id=
"GRADLE"
type=
"JAVA_MODULE"
version=
"4"
>
<module
external.linked.project.id=
"FlyTour"
external.linked.project.path=
"$MODULE_DIR$"
external.root.project.path=
"$MODULE_DIR$"
external.system.id=
"GRADLE"
type=
"JAVA_MODULE"
version=
"4"
>
<component
name=
"FacetManager"
>
<facet
type=
"java-gradle"
name=
"Java-Gradle"
>
<configuration>
<option
name=
"BUILD_FOLDER_PATH"
value=
"$MODULE_DIR$/build"
/>
<option
name=
"BUILDABLE"
value=
"false"
/>
</configuration>
</facet>
</component>
<component
name=
"NewModuleRootManager"
LANGUAGE_LEVEL=
"JDK_1_7"
inherit-compiler-output=
"true"
>
<component
name=
"NewModuleRootManager"
LANGUAGE_LEVEL=
"JDK_1_7"
inherit-compiler-output=
"true"
>
<exclude-output
/>
<exclude-output
/>
<content
url=
"file://$MODULE_DIR$"
>
<content
url=
"file://$MODULE_DIR$"
>
...
...
lib_common/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/fly/tour/common/base/BaseFragment$1.class
浏览文件 @
034a6d1f
无法预览此类型文件
lib_common/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/fly/tour/common/base/BaseFragment.class
浏览文件 @
034a6d1f
无法预览此类型文件
lib_common/src/main/java/com/fly/tour/common/base/BaseFragment.java
浏览文件 @
034a6d1f
...
@@ -15,6 +15,7 @@ import com.fly.tour.common.R;
...
@@ -15,6 +15,7 @@ import com.fly.tour.common.R;
import
com.fly.tour.common.event.common.BaseFragmentEvent
;
import
com.fly.tour.common.event.common.BaseFragmentEvent
;
import
com.fly.tour.common.mvp.BaseView
;
import
com.fly.tour.common.mvp.BaseView
;
import
com.fly.tour.common.util.NetUtil
;
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.LoadingInitView
;
import
com.fly.tour.common.view.LoadingTransView
;
import
com.fly.tour.common.view.LoadingTransView
;
import
com.fly.tour.common.view.NetErrorView
;
import
com.fly.tour.common.view.NetErrorView
;
...
@@ -112,6 +113,9 @@ public abstract class BaseFragment extends Fragment implements BaseView {
...
@@ -112,6 +113,9 @@ public abstract class BaseFragment extends Fragment implements BaseView {
private
void
lazyLoad
()
{
private
void
lazyLoad
()
{
//这里进行双重标记判断,必须确保onCreateView加载完毕且页面可见,才加载数据
//这里进行双重标记判断,必须确保onCreateView加载完毕且页面可见,才加载数据
KLog
.
v
(
"MYTAG"
,
"lazyLoad start..."
);
KLog
.
v
(
"MYTAG"
,
"isViewCreated:"
+
isViewCreated
);
KLog
.
v
(
"MYTAG"
,
"isViewVisable"
+
isViewVisable
);
if
(
isViewCreated
&&
isViewVisable
)
{
if
(
isViewCreated
&&
isViewVisable
)
{
initData
();
initData
();
//数据加载完毕,恢复标记,防止重复加载
//数据加载完毕,恢复标记,防止重复加载
...
...
lib_common/src/main/java/com/fly/tour/common/base/BaseRefreshFragment.java
浏览文件 @
034a6d1f
...
@@ -5,6 +5,7 @@ import android.view.View;
...
@@ -5,6 +5,7 @@ import android.view.View;
import
com.fly.tour.common.mvp.BaseModel
;
import
com.fly.tour.common.mvp.BaseModel
;
import
com.fly.tour.common.mvp.BaseRefreshPresenter
;
import
com.fly.tour.common.mvp.BaseRefreshPresenter
;
import
com.fly.tour.common.mvp.BaseRefreshView
;
import
com.fly.tour.common.mvp.BaseRefreshView
;
import
com.fly.tour.common.util.log.KLog
;
import
com.refresh.lib.BaseRefreshLayout
;
import
com.refresh.lib.BaseRefreshLayout
;
import
com.refresh.lib.DaisyRefreshLayout
;
import
com.refresh.lib.DaisyRefreshLayout
;
...
@@ -68,7 +69,9 @@ public abstract class BaseRefreshFragment<M extends BaseModel,V extends BaseRefr
...
@@ -68,7 +69,9 @@ public abstract class BaseRefreshFragment<M extends BaseModel,V extends BaseRefr
@Override
@Override
public
void
autoLoadData
()
{
public
void
autoLoadData
()
{
KLog
.
v
(
"MYTAG"
,
"autoLoadData start..."
);
if
(
mRefreshLayout
!=
null
){
if
(
mRefreshLayout
!=
null
){
KLog
.
v
(
"MYTAG"
,
"autoLoadData1 start..."
);
mRefreshLayout
.
autoRefresh
();
mRefreshLayout
.
autoRefresh
();
}
}
}
}
...
...
lib_common/src/main/java/com/fly/tour/common/event/EventCode.java
浏览文件 @
034a6d1f
...
@@ -22,5 +22,11 @@ public interface EventCode {
...
@@ -22,5 +22,11 @@ public interface EventCode {
interface
MeCode
{
interface
MeCode
{
//4000开始
//4000开始
int
NEWS_TYPE_ADD
=
4000
;
int
NEWS_TYPE_DELETE
=
4001
;
int
NEWS_TYPE_UPDATE
=
4002
;
int
NEWS_TYPE_QUERY
=
4003
;
int
news_detail_add
=
4004
;
}
}
}
}
lib_common/src/main/java/com/fly/tour/common/event/me/NewsDetailCurdEvent.java
0 → 100644
浏览文件 @
034a6d1f
package
com.fly.tour.common.event.me
;
import
com.fly.tour.common.event.BaseEvent
;
/**
* Description: <NewsDetailCurdEvent><br>
* Author: gxl<br>
* Date: 2019/5/29<br>
* Version: V1.0.0<br>
* Update: <br>
*/
public
class
NewsDetailCurdEvent
extends
BaseEvent
{
public
NewsDetailCurdEvent
(
int
code
)
{
super
(
code
);
}
}
lib_common/src/main/java/com/fly/tour/common/event/me/NewsTypeCrudEvent.java
0 → 100644
浏览文件 @
034a6d1f
package
com.fly.tour.common.event.me
;
import
com.fly.tour.common.event.BaseEvent
;
/**
* Description: <NewsTypeCrudEvent><br>
* Author: gxl<br>
* Date: 2019/5/29<br>
* Version: V1.0.0<br>
* Update: <br>
*/
public
class
NewsTypeCrudEvent
extends
BaseEvent
{
public
NewsTypeCrudEvent
(
int
code
)
{
super
(
code
);
}
}
lib_common/src/main/java/com/fly/tour/common/manager/NewsDBManager.java
浏览文件 @
034a6d1f
...
@@ -28,7 +28,6 @@ public class NewsDBManager {
...
@@ -28,7 +28,6 @@ public class NewsDBManager {
public
static
final
String
TAG
=
NewsDBManager
.
class
.
getSimpleName
();
public
static
final
String
TAG
=
NewsDBManager
.
class
.
getSimpleName
();
private
static
NewsDBManager
newsDBManager
;
private
static
NewsDBManager
newsDBManager
;
private
Context
mContext
;
private
Context
mContext
;
private
List
<
NewsType
>
mListNewsType
;
private
NewsDBManager
(
Context
context
)
{
private
NewsDBManager
(
Context
context
)
{
mContext
=
context
;
mContext
=
context
;
...
@@ -46,18 +45,16 @@ public class NewsDBManager {
...
@@ -46,18 +45,16 @@ public class NewsDBManager {
}
}
public
void
initNewsDB
()
{
public
void
initNewsDB
()
{
NewsTypeDao
n
ewsTypeDao
=
new
NewsTypeDao
(
mContext
);
NewsTypeDao
mN
ewsTypeDao
=
new
NewsTypeDao
(
mContext
);
if
(
n
ewsTypeDao
.
isEmpty
())
{
if
(
mN
ewsTypeDao
.
isEmpty
())
{
Gson
gson
=
new
Gson
();
Gson
gson
=
new
Gson
();
Type
type
=
new
TypeToken
<
List
<
NewsType
>>()
{
Type
type
=
new
TypeToken
<
List
<
NewsType
>>()
{
}.
getType
();
}.
getType
();
mListNewsType
=
gson
.
fromJson
(
getStringByResId
(
R
.
raw
.
news_type
),
type
);
List
<
NewsType
>
mListNewsType
=
gson
.
fromJson
(
getStringByResId
(
R
.
raw
.
news_type
),
type
);
newsTypeDao
.
addListNewStype
(
mListNewsType
);
mNewsTypeDao
.
addListNewStype
(
mListNewsType
);
}
else
{
mListNewsType
=
newsTypeDao
.
getListNewsType
();
}
}
NewsDetailDao
newsDetailDao
=
new
NewsDetailDao
(
mContext
);
NewsDetailDao
newsDetailDao
=
new
NewsDetailDao
(
mContext
);
if
(
newsDetailDao
.
isEmpty
())
{
if
(
newsDetailDao
.
isEmpty
())
{
Gson
gson
=
new
Gson
();
Gson
gson
=
new
Gson
();
Type
type
=
new
TypeToken
<
List
<
NewsDetail
>>()
{
Type
type
=
new
TypeToken
<
List
<
NewsDetail
>>()
{
}.
getType
();
}.
getType
();
...
@@ -83,6 +80,6 @@ public class NewsDBManager {
...
@@ -83,6 +80,6 @@ public class NewsDBManager {
}
}
public
List
<
NewsType
>
getListNewsType
()
{
public
List
<
NewsType
>
getListNewsType
()
{
return
mListNewsType
;
return
new
NewsTypeDao
(
mContext
).
getListNewsType
()
;
}
}
}
}
lib_db_news/src/main/java/com/fly/tour/db/entity/NewsType.java
浏览文件 @
034a6d1f
...
@@ -70,4 +70,9 @@ public class NewsType implements Parcelable {
...
@@ -70,4 +70,9 @@ public class NewsType implements Parcelable {
return
new
NewsType
[
size
];
return
new
NewsType
[
size
];
}
}
};
};
@Override
public
String
toString
()
{
return
"NewsType{"
+
"id="
+
id
+
", typename='"
+
typename
+
'\''
+
", addtime='"
+
addtime
+
'\''
+
'}'
;
}
}
}
module_me/src/main/java/com/fly/tour/me/NewsTypeAddActivity.java
浏览文件 @
034a6d1f
...
@@ -8,12 +8,16 @@ import android.view.View;
...
@@ -8,12 +8,16 @@ import android.view.View;
import
android.widget.Button
;
import
android.widget.Button
;
import
com.fly.tour.common.base.BaseMvpActivity
;
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.util.ToastUtil
;
import
com.fly.tour.common.view.SettingBarView
;
import
com.fly.tour.common.view.SettingBarView
;
import
com.fly.tour.me.contract.NewsTypeAddContract
;
import
com.fly.tour.me.contract.NewsTypeAddContract
;
import
com.fly.tour.me.model.NewsTypeAddModel
;
import
com.fly.tour.me.model.NewsTypeAddModel
;
import
com.fly.tour.me.presenter.NewsTypeAddPresenter
;
import
com.fly.tour.me.presenter.NewsTypeAddPresenter
;
import
org.greenrobot.eventbus.EventBus
;
/**
/**
* Description: <NewsTypeAddActivity><br>
* Description: <NewsTypeAddActivity><br>
* Author: gxl<br>
* Author: gxl<br>
...
@@ -72,6 +76,7 @@ public class NewsTypeAddActivity extends BaseMvpActivity<NewsTypeAddModel,NewsTy
...
@@ -72,6 +76,7 @@ public class NewsTypeAddActivity extends BaseMvpActivity<NewsTypeAddModel,NewsTy
@Override
@Override
public
void
finishActivity
()
{
public
void
finishActivity
()
{
EventBus
.
getDefault
().
post
(
new
NewsTypeCrudEvent
(
EventCode
.
MeCode
.
NEWS_TYPE_ADD
));
setResult
(
Activity
.
RESULT_OK
,
new
Intent
());
setResult
(
Activity
.
RESULT_OK
,
new
Intent
());
super
.
finishActivity
();
super
.
finishActivity
();
}
}
...
...
module_me/src/main/java/com/fly/tour/me/presenter/NewsDetailAddPresenter.java
浏览文件 @
034a6d1f
...
@@ -3,11 +3,14 @@ package com.fly.tour.me.presenter;
...
@@ -3,11 +3,14 @@ package com.fly.tour.me.presenter;
import
android.content.Context
;
import
android.content.Context
;
import
android.os.Handler
;
import
android.os.Handler
;
import
com.fly.tour.common.event.me.NewsDetailCurdEvent
;
import
com.fly.tour.common.mvp.BasePresenter
;
import
com.fly.tour.common.mvp.BasePresenter
;
import
com.fly.tour.common.util.ToastUtil
;
import
com.fly.tour.common.util.ToastUtil
;
import
com.fly.tour.me.contract.NewsDetailAddContract
;
import
com.fly.tour.me.contract.NewsDetailAddContract
;
import
com.fly.tour.me.model.NewsDetailAddModel
;
import
com.fly.tour.me.model.NewsDetailAddModel
;
import
org.greenrobot.eventbus.EventBus
;
/**
/**
* Description: <NewsDetailAddPresenter><br>
* Description: <NewsDetailAddPresenter><br>
* Author: gxl<br>
* Author: gxl<br>
...
@@ -36,6 +39,7 @@ public class NewsDetailAddPresenter extends BasePresenter<NewsDetailAddModel,New
...
@@ -36,6 +39,7 @@ public class NewsDetailAddPresenter extends BasePresenter<NewsDetailAddModel,New
ToastUtil
.
showToast
(
"添加成功"
);
ToastUtil
.
showToast
(
"添加成功"
);
mView
.
hideTransLoadingView
();
mView
.
hideTransLoadingView
();
mView
.
finishActivity
();
mView
.
finishActivity
();
EventBus
.
getDefault
().
post
(
new
NewsDetailCurdEvent
(
type
));
}
else
{
}
else
{
ToastUtil
.
showToast
(
"添加失败"
);
ToastUtil
.
showToast
(
"添加失败"
);
}
}
...
...
module_me/src/main/java/com/fly/tour/me/presenter/NewsTypeListPresenter.java
浏览文件 @
034a6d1f
...
@@ -2,12 +2,17 @@ package com.fly.tour.me.presenter;
...
@@ -2,12 +2,17 @@ package com.fly.tour.me.presenter;
import
android.content.Context
;
import
android.content.Context
;
import
com.fly.tour.common.event.EventCode
;
import
com.fly.tour.common.event.me.NewsTypeCrudEvent
;
import
com.fly.tour.common.mvp.BaseRefreshPresenter
;
import
com.fly.tour.common.mvp.BaseRefreshPresenter
;
import
com.fly.tour.common.util.ToastUtil
;
import
com.fly.tour.common.util.ToastUtil
;
import
com.fly.tour.common.util.log.KLog
;
import
com.fly.tour.db.entity.NewsType
;
import
com.fly.tour.db.entity.NewsType
;
import
com.fly.tour.me.contract.NewsTypeListContract
;
import
com.fly.tour.me.contract.NewsTypeListContract
;
import
com.fly.tour.me.model.NewsTypeListModel
;
import
com.fly.tour.me.model.NewsTypeListModel
;
import
org.greenrobot.eventbus.EventBus
;
import
java.util.List
;
import
java.util.List
;
import
java.util.logging.Handler
;
import
java.util.logging.Handler
;
...
@@ -42,6 +47,7 @@ public class NewsTypeListPresenter extends BaseRefreshPresenter<NewsTypeListMode
...
@@ -42,6 +47,7 @@ public class NewsTypeListPresenter extends BaseRefreshPresenter<NewsTypeListMode
@Override
@Override
public
void
run
()
{
public
void
run
()
{
List
<
NewsType
>
listNewsType
=
mModel
.
getListNewsType
();
List
<
NewsType
>
listNewsType
=
mModel
.
getListNewsType
();
KLog
.
v
(
"MYTAG"
,
"listNewsType:"
+
listNewsType
.
toString
());
if
(
listNewsType
!=
null
&&
listNewsType
.
size
()
>
0
)
{
if
(
listNewsType
!=
null
&&
listNewsType
.
size
()
>
0
)
{
mView
.
refreshData
(
listNewsType
);
mView
.
refreshData
(
listNewsType
);
}
else
{
}
else
{
...
@@ -72,6 +78,7 @@ public class NewsTypeListPresenter extends BaseRefreshPresenter<NewsTypeListMode
...
@@ -72,6 +78,7 @@ public class NewsTypeListPresenter extends BaseRefreshPresenter<NewsTypeListMode
if
(
mModel
.
deleteNewsTypeById
(
id
)){
if
(
mModel
.
deleteNewsTypeById
(
id
)){
ToastUtil
.
showToast
(
"删除成功"
);
ToastUtil
.
showToast
(
"删除成功"
);
refreshData
();
refreshData
();
EventBus
.
getDefault
().
post
(
new
NewsTypeCrudEvent
(
EventCode
.
MeCode
.
NEWS_TYPE_DELETE
));
}
else
{
}
else
{
ToastUtil
.
showToast
(
"删除失败"
);
ToastUtil
.
showToast
(
"删除失败"
);
}
}
...
...
module_news/src/main/java/com/fly/tour/news/fragment/MainNewsFragment.java
浏览文件 @
034a6d1f
package
com.fly.tour.news.fragment
;
package
com.fly.tour.news.fragment
;
import
android.support.annotation.NonNull
;
import
android.support.annotation.Nullable
;
import
android.support.annotation.Nullable
;
import
android.support.design.widget.TabLayout
;
import
android.support.design.widget.TabLayout
;
import
android.support.v4.app.Fragment
;
import
android.support.v4.app.Fragment
;
import
android.support.v4.app.FragmentManager
;
import
android.support.v4.app.FragmentPagerAdapter
;
import
android.support.v4.app.FragmentPagerAdapter
;
import
android.support.v4.app.FragmentTransaction
;
import
android.support.v4.view.ViewPager
;
import
android.support.v4.view.ViewPager
;
import
android.view.View
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
com.fly.tour.common.base.BaseFragment
;
import
com.fly.tour.common.base.BaseFragment
;
import
com.fly.tour.common.event.me.NewsTypeCrudEvent
;
import
com.fly.tour.common.manager.NewsDBManager
;
import
com.fly.tour.common.manager.NewsDBManager
;
import
com.fly.tour.common.util.log.KLog
;
import
com.fly.tour.db.entity.NewsType
;
import
com.fly.tour.db.entity.NewsType
;
import
com.fly.tour.trip.R
;
import
com.fly.tour.trip.R
;
import
org.greenrobot.eventbus.Subscribe
;
import
org.greenrobot.eventbus.ThreadMode
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
import
java.util.logging.Handler
;
/**
/**
* Description: <MainNewsFragment><br>
* Description: <MainNewsFragment><br>
...
@@ -23,20 +34,11 @@ import java.util.List;
...
@@ -23,20 +34,11 @@ import java.util.List;
*/
*/
public
class
MainNewsFragment
extends
BaseFragment
{
public
class
MainNewsFragment
extends
BaseFragment
{
private
List
<
String
>
titles
=
new
ArrayList
<>();
private
List
<
String
>
titles
=
new
ArrayList
<>();
private
List
<
NewsListFragment
>
mArrayList
=
new
ArrayList
<
NewsListFragment
>()
{
private
List
<
NewsListFragment
>
mListFragments
=
new
ArrayList
<>();
{
List
<
NewsType
>
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
TabLayout
mTabLayout
;
private
TabLayout
mTabLayout
;
private
ViewPager
mViewPager
;
private
ViewPager
mViewPager
;
private
NewsFragmentAdapter
mNewsFragmentAdapter
;
private
boolean
mIsfresh
;
public
static
MainNewsFragment
newInstance
()
{
public
static
MainNewsFragment
newInstance
()
{
return
new
MainNewsFragment
();
return
new
MainNewsFragment
();
...
@@ -46,6 +48,7 @@ public class MainNewsFragment extends BaseFragment {
...
@@ -46,6 +48,7 @@ public class MainNewsFragment extends BaseFragment {
public
int
onBindLayout
()
{
public
int
onBindLayout
()
{
return
R
.
layout
.
fragment_news_main
;
return
R
.
layout
.
fragment_news_main
;
}
}
@Override
@Override
public
void
initView
(
View
view
)
{
public
void
initView
(
View
view
)
{
mViewPager
=
view
.
findViewById
(
R
.
id
.
pager_tour
);
mViewPager
=
view
.
findViewById
(
R
.
id
.
pager_tour
);
...
@@ -62,28 +65,16 @@ public class MainNewsFragment extends BaseFragment {
...
@@ -62,28 +65,16 @@ public class MainNewsFragment extends BaseFragment {
@Override
@Override
public
void
initListener
()
{
public
void
initListener
()
{
mViewPager
.
setOffscreenPageLimit
(
mArrayList
.
size
());
initNewsListFragment
();
mViewPager
.
setAdapter
(
new
FragmentPagerAdapter
(
getActivity
().
getSupportFragmentManager
())
{
//mViewPager.setOffscreenPageLimit(mListFragments.size());
@Override
mNewsFragmentAdapter
=
new
NewsFragmentAdapter
(
getChildFragmentManager
());
public
Fragment
getItem
(
int
position
)
{
mViewPager
.
setAdapter
(
mNewsFragmentAdapter
);
return
mArrayList
.
get
(
position
);
mNewsFragmentAdapter
.
refreshViewPager
(
mListFragments
);
}
@Override
public
int
getCount
()
{
return
mArrayList
.
size
();
}
@Nullable
@Override
public
CharSequence
getPageTitle
(
int
position
)
{
return
titles
.
get
(
position
);
}
});
mTabLayout
.
addOnTabSelectedListener
(
new
TabLayout
.
OnTabSelectedListener
()
{
mTabLayout
.
addOnTabSelectedListener
(
new
TabLayout
.
OnTabSelectedListener
()
{
@Override
@Override
public
void
onTabSelected
(
TabLayout
.
Tab
tab
)
{
public
void
onTabSelected
(
TabLayout
.
Tab
tab
)
{
m
ArrayList
.
get
(
tab
.
getPosition
()).
autoLoadData
();
m
ListFragments
.
get
(
tab
.
getPosition
()).
autoLoadData
();
}
}
@Override
@Override
...
@@ -99,8 +90,92 @@ public class MainNewsFragment extends BaseFragment {
...
@@ -99,8 +90,92 @@ public class MainNewsFragment extends BaseFragment {
mTabLayout
.
setupWithViewPager
(
mViewPager
);
mTabLayout
.
setupWithViewPager
(
mViewPager
);
}
}
class
NewsFragmentAdapter
extends
FragmentPagerAdapter
{
public
FragmentManager
mFragmentManager
;
List
<
NewsListFragment
>
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
<
NewsListFragment
>
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
<
NewsType
>
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
@Override
public
String
getToolbarTitle
()
{
public
String
getToolbarTitle
()
{
return
null
;
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
);
}
}
}
}
module_news/src/main/java/com/fly/tour/news/fragment/NewsListFragment.java
浏览文件 @
034a6d1f
...
@@ -10,7 +10,9 @@ import android.view.View;
...
@@ -10,7 +10,9 @@ import android.view.View;
import
com.fly.tour.common.base.BaseFragment
;
import
com.fly.tour.common.base.BaseFragment
;
import
com.fly.tour.common.base.BaseRefreshFragment
;
import
com.fly.tour.common.base.BaseRefreshFragment
;
import
com.fly.tour.common.event.KeyCode
;
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.mvp.BaseRefreshPresenter
;
import
com.fly.tour.common.util.log.KLog
;
import
com.fly.tour.db.entity.NewsDetail
;
import
com.fly.tour.db.entity.NewsDetail
;
import
com.fly.tour.db.entity.NewsType
;
import
com.fly.tour.db.entity.NewsType
;
import
com.fly.tour.news.adapter.NewsListAdatper
;
import
com.fly.tour.news.adapter.NewsListAdatper
;
...
@@ -19,6 +21,9 @@ import com.fly.tour.news.model.NewsListModel;
...
@@ -19,6 +21,9 @@ import com.fly.tour.news.model.NewsListModel;
import
com.fly.tour.news.presenter.NewsListPresenter
;
import
com.fly.tour.news.presenter.NewsListPresenter
;
import
com.fly.tour.trip.R
;
import
com.fly.tour.trip.R
;
import
org.greenrobot.eventbus.Subscribe
;
import
org.greenrobot.eventbus.ThreadMode
;
import
java.util.List
;
import
java.util.List
;
/**
/**
...
@@ -61,6 +66,7 @@ public class NewsListFragment extends BaseRefreshFragment<NewsListModel,NewsList
...
@@ -61,6 +66,7 @@ public class NewsListFragment extends BaseRefreshFragment<NewsListModel,NewsList
@Override
@Override
public
void
initView
(
View
view
)
{
public
void
initView
(
View
view
)
{
KLog
.
v
(
"MYTAG"
,
"initView start:"
+
mNewsType
.
getTypename
());
mRecViewNewsDetail
=
view
.
findViewById
(
R
.
id
.
recview_news_list
);
mRecViewNewsDetail
=
view
.
findViewById
(
R
.
id
.
recview_news_list
);
mRecViewNewsDetail
.
setLayoutManager
(
new
LinearLayoutManager
(
mActivity
));
mRecViewNewsDetail
.
setLayoutManager
(
new
LinearLayoutManager
(
mActivity
));
mNewsListAdatper
=
new
NewsListAdatper
(
mActivity
);
mNewsListAdatper
=
new
NewsListAdatper
(
mActivity
);
...
@@ -70,6 +76,7 @@ public class NewsListFragment extends BaseRefreshFragment<NewsListModel,NewsList
...
@@ -70,6 +76,7 @@ public class NewsListFragment extends BaseRefreshFragment<NewsListModel,NewsList
@Override
@Override
public
void
initData
()
{
public
void
initData
()
{
mPresenter
.
setNewsType
(
mNewsType
.
getId
());
mPresenter
.
setNewsType
(
mNewsType
.
getId
());
KLog
.
v
(
"MYTAG"
,
"initData start:"
+
mNewsType
.
getTypename
());
autoLoadData
();
autoLoadData
();
}
}
...
@@ -114,4 +121,10 @@ public class NewsListFragment extends BaseRefreshFragment<NewsListModel,NewsList
...
@@ -114,4 +121,10 @@ public class NewsListFragment extends BaseRefreshFragment<NewsListModel,NewsList
public
void
loadMoreData
(
List
<
NewsDetail
>
data
)
{
public
void
loadMoreData
(
List
<
NewsDetail
>
data
)
{
mNewsListAdatper
.
addAll
(
data
);
mNewsListAdatper
.
addAll
(
data
);
}
}
@Subscribe
(
threadMode
=
ThreadMode
.
MAIN
)
public
void
onEvent
(
NewsDetailCurdEvent
curdEvent
){
if
(
curdEvent
.
getCode
()
==
mNewsType
.
getId
()){
autoLoadData
();
}
}
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录