文章目录
为了更好的了解Fragment在app中的存在状态(比如说,当前添加了几个Fragment、他们的层级关系如何、BackStack里有没有Fragment等),我们需要能够查看当前Fragment的情况。本文将介绍 如何通过adb命令行查看当前Fragment
1. 查看当前Fragment的adb命令
打开控制终端。就是那个黑窗口,window下可按win+R调出执行窗口,然后输入cmd,回车,就能弹出。mac电脑直接搜索terminal或者找到终端即可。
输入以下命令:
adb shell dumpsys activity fragment
2. 案例演示
下面用一个小案例来演示查看Fragment的过程。
2.1 案例代码
首先,准备Fragment: FragmentA.java
// 导包省略。。。
public class FragmentA extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_a, container, false);
}
}
然后,准备Activity: TestActivity.java
// 导包省略。。。
public class TestActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test);
}
public void addFragment(View view) {
getSupportFragmentManager()
.beginTransaction()
.add(R.id.fragment_container, FragmentA.class, null)
.commit();
}
public void addFragmentAndBackStack(View view) {
getSupportFragmentManager()
.beginTransaction()
.add(R.id.fragment_container, FragmentA.class, null)
.addToBackStack("myBackStack")
.setReorderingAllowed(true)
.commit();
}
}
布局文件:activity_test.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<androidx.fragment.app.FragmentContainerView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/fragment_container"
/>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="20sp"
android:text="添加Fragment"

本文介绍如何使用adb命令查看Android应用中的Fragment状态,包括Fragment的数量、层级关系及BackStack情况。
最低0.47元/天 解锁文章
2195

被折叠的 条评论
为什么被折叠?



