Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
mmm-rain
AndroidUtilCode
提交
c5fc08be
A
AndroidUtilCode
项目概览
mmm-rain
/
AndroidUtilCode
与 Fork 源项目一致
从无法访问的项目Fork
通知
4
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
A
AndroidUtilCode
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
c5fc08be
编写于
10月 07, 2017
作者:
B
Blankj
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
see 10/07 log
上级
2b3b5a7c
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
37 addition
and
21 deletion
+37
-21
app/src/main/java/com/blankj/androidutilcode/core/fragment/ChildFragment.java
...m/blankj/androidutilcode/core/fragment/ChildFragment.java
+5
-5
app/src/main/java/com/blankj/androidutilcode/core/fragment/FragmentActivity.java
...lankj/androidutilcode/core/fragment/FragmentActivity.java
+6
-6
app/src/main/java/com/blankj/androidutilcode/core/fragment/RootFragment.java
...om/blankj/androidutilcode/core/fragment/RootFragment.java
+4
-4
utilcode/src/main/java/com/blankj/utilcode/util/FragmentUtils.java
...src/main/java/com/blankj/utilcode/util/FragmentUtils.java
+22
-6
未找到文件。
app/src/main/java/com/blankj/androidutilcode/core/fragment/ChildFragment.java
浏览文件 @
c5fc08be
...
...
@@ -21,7 +21,7 @@ import java.util.Random;
* </pre>
*/
public
class
ChildFragment
extends
BaseFragment
implements
FragmentUtils
.
OnBackClickListener
{
implements
FragmentUtils
.
OnBackClickListener
{
private
TextView
tvAboutFragment
;
...
...
@@ -61,10 +61,10 @@ public class ChildFragment extends BaseFragment
tvAboutFragment
.
setText
(
""
);
switch
(
view
.
getId
())
{
case
R
.
id
.
btn_show_about_fragment
:
tvAboutFragment
.
setText
(
"
lastAdd: "
+
FragmentUtils
.
getTop
(
getFragmentManager
()).
getClass
().
getSimpleName
(
)
+
"\n
lastAddInStack: "
+
(
FragmentUtils
.
getTopInStack
(
getFragmentManager
())
!=
null
?
FragmentUtils
.
getTopInStack
(
getFragmentManager
()).
getClass
().
getSimpleName
()
:
"null"
)
+
"\ntopShow: "
+
FragmentUtils
.
get
TopShow
(
getFragmentManager
()).
getClass
().
getSimpleName
(
)
+
"\ntopShowInStack: "
+
(
FragmentUtils
.
getTopShowInStack
(
getFragmentManager
())
!=
null
?
FragmentUtils
.
getTopShowInStack
(
getFragmentManager
()).
getClass
().
getSimpleName
()
:
"null"
)
tvAboutFragment
.
setText
(
"
top: "
+
FragmentUtils
.
getSimpleName
(
FragmentUtils
.
getTop
(
getFragmentManager
())
)
+
"\n
topInStack: "
+
FragmentUtils
.
getSimpleName
(
FragmentUtils
.
getTopInStack
(
getFragmentManager
())
)
+
"\ntopShow: "
+
FragmentUtils
.
get
SimpleName
(
FragmentUtils
.
getTopShow
(
getFragmentManager
())
)
+
"\ntopShowInStack: "
+
FragmentUtils
.
getSimpleName
(
FragmentUtils
.
getTopShowInStack
(
getFragmentManager
())
)
+
"\n---all of fragments---\n"
+
FragmentUtils
.
getAllFragments
(
getFragmentManager
()).
toString
()
+
"\n----------------------\n\n"
...
...
app/src/main/java/com/blankj/androidutilcode/core/fragment/FragmentActivity.java
浏览文件 @
c5fc08be
...
...
@@ -75,12 +75,12 @@ public class FragmentActivity extends BaseActivity {
}
@Override
public
void
onBackPressed
()
{
// if (!FragmentUtils.dispatchBackPress(getSupportFragmentManager())) {
// super.onBackPressed();
// }
}
//
@Override
//
public void onBackPressed() {
//
//
if (!FragmentUtils.dispatchBackPress(getSupportFragmentManager())) {
//
//
super.onBackPressed();
//
//
}
//
}
private
BottomNavigationView
.
OnNavigationItemSelectedListener
mOnNavigationItemSelectedListener
=
new
BottomNavigationView
.
OnNavigationItemSelectedListener
()
{
...
...
app/src/main/java/com/blankj/androidutilcode/core/fragment/RootFragment.java
浏览文件 @
c5fc08be
...
...
@@ -75,10 +75,10 @@ public class RootFragment extends BaseFragment
tvAboutFragment
.
setText
(
""
);
switch
(
view
.
getId
())
{
case
R
.
id
.
btn_show_about_fragment
:
tvAboutFragment
.
setText
(
"top: "
+
FragmentUtils
.
get
Top
(
getFragmentManager
()).
getClass
().
getSimpleName
(
)
+
"\ntopInStack: "
+
(
FragmentUtils
.
getTopInStack
(
getFragmentManager
())
!=
null
?
FragmentUtils
.
getTopInStack
(
getFragmentManager
()).
getClass
().
getSimpleName
()
:
"null"
)
+
"\ntopShow: "
+
(
FragmentUtils
.
getTopShow
(
getFragmentManager
())
!=
null
?
FragmentUtils
.
getTopShow
(
getFragmentManager
()).
getClass
().
getSimpleName
()
:
"null"
)
+
"\ntopShowInStack: "
+
(
FragmentUtils
.
getTopShowInStack
(
getFragmentManager
())
!=
null
?
FragmentUtils
.
getTopShowInStack
(
getFragmentManager
()).
getClass
().
getSimpleName
()
:
"null"
)
tvAboutFragment
.
setText
(
"top: "
+
FragmentUtils
.
get
SimpleName
(
FragmentUtils
.
getTop
(
getFragmentManager
())
)
+
"\ntopInStack: "
+
FragmentUtils
.
getSimpleName
(
FragmentUtils
.
getTopInStack
(
getFragmentManager
())
)
+
"\ntopShow: "
+
FragmentUtils
.
getSimpleName
(
FragmentUtils
.
getTopShow
(
getFragmentManager
())
)
+
"\ntopShowInStack: "
+
FragmentUtils
.
getSimpleName
(
FragmentUtils
.
getTopShowInStack
(
getFragmentManager
())
)
+
"\n---all of fragments---\n"
+
FragmentUtils
.
getAllFragments
(
getFragmentManager
()).
toString
()
+
"\n----------------------\n\n"
...
...
utilcode/src/main/java/com/blankj/utilcode/util/FragmentUtils.java
浏览文件 @
c5fc08be
...
...
@@ -779,11 +779,12 @@ public final class FragmentUtils {
Log
.
e
(
"FragmentUtils"
,
src
.
getClass
().
getName
()
+
" is isRemoving"
);
return
;
}
String
name
=
dest
.
getClass
().
getName
()
;
String
name
;
Bundle
args
;
switch
(
type
)
{
case
TYPE_ADD_FRAGMENT:
for
(
Fragment
fragment
:
dest
)
{
name
=
fragment
.
getClass
().
getName
();
args
=
fragment
.
getArguments
();
Fragment
fragmentByTag
=
fm
.
findFragmentByTag
(
name
);
if
(
fragmentByTag
!=
null
)
{
...
...
@@ -815,6 +816,7 @@ public final class FragmentUtils {
}
break
;
case
TYPE_REPLACE_FRAGMENT:
name
=
dest
[
0
].
getClass
().
getName
();
args
=
dest
[
0
].
getArguments
();
ft
.
replace
(
args
.
getInt
(
ARGS_ID
),
dest
[
0
],
name
);
if
(
args
.
getBoolean
(
ARGS_IS_ADD_STACK
))
ft
.
addToBackStack
(
name
);
...
...
@@ -883,8 +885,10 @@ public final class FragmentUtils {
for
(
int
i
=
fragments
.
size
()
-
1
;
i
>=
0
;
--
i
)
{
Fragment
fragment
=
fragments
.
get
(
i
);
if
(
fragment
!=
null
)
{
if
(
isInStack
&&
fragment
.
getArguments
().
getBoolean
(
ARGS_IS_ADD_STACK
))
{
return
fragment
;
if
(
isInStack
)
{
if
(
fragment
.
getArguments
().
getBoolean
(
ARGS_IS_ADD_STACK
))
{
return
fragment
;
}
}
else
{
return
fragment
;
}
...
...
@@ -922,11 +926,13 @@ public final class FragmentUtils {
&&
fragment
.
isResumed
()
&&
fragment
.
isVisible
()
&&
fragment
.
getUserVisibleHint
())
{
if
(
isInStack
&&
fragment
.
getArguments
().
getBoolean
(
ARGS_IS_ADD_STACK
))
{
if
(
isInStack
)
{
if
(
fragment
.
getArguments
().
getBoolean
(
ARGS_IS_ADD_STACK
))
{
return
fragment
;
}
}
else
{
return
fragment
;
}
}
else
{
return
fragment
;
}
}
return
null
;
...
...
@@ -1099,6 +1105,16 @@ public final class FragmentUtils {
ViewCompat
.
setBackground
(
fragment
.
getView
(),
background
);
}
/**
* 获取类名
*
* @param fragment fragment
* @return 类名
*/
public
static
String
getSimpleName
(
final
Fragment
fragment
)
{
return
fragment
==
null
?
"null"
:
fragment
.
getClass
().
getSimpleName
();
}
private
static
class
Args
{
int
id
;
boolean
isHide
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录