Android。从 adb 开始片段
Android. Start fragment from adb
我想通过 adb shell 运行 一个片段。这样做
adb shell am start -n com.example.myapplication/com.example.myapplication.MainActivity -e":android:show_fragment" com.example.myapplication.BlankFragment2
结果
Starting: Intent { cmp=com.example.myapplication/.MainActivity (has extras) }
但只有 activity 打开而没有片段。我做错了什么?
如果不使用 adb 进行编码,您将无法打开 Fragment。亚行与系统一起工作。 Activity 是系统的一部分,但不是 Fragment。
要在 onCreate 方法的 Activity 中从 ADB 打开 Fragment,您需要检查 Extra:
val showFragment = intent.getStringExtra("show_fragment")
if (showFragment != null) {
if (showFragment == "StreamListFragment") {
supportFragmentManager.beginTransaction()
.replace(R.id.container, StreamListFragment())
.commit()
}
}
R.id.container - 查看容器,您的片段将放置于此。
之后就可以使用adb了。
adb shell am start -n com.example.myapplication/com.example.myapplication.MainActivity --es "show_fragment" "StreamListFragment"
我想通过 adb shell 运行 一个片段。这样做
adb shell am start -n com.example.myapplication/com.example.myapplication.MainActivity -e":android:show_fragment" com.example.myapplication.BlankFragment2
结果
Starting: Intent { cmp=com.example.myapplication/.MainActivity (has extras) }
但只有 activity 打开而没有片段。我做错了什么?
如果不使用 adb 进行编码,您将无法打开 Fragment。亚行与系统一起工作。 Activity 是系统的一部分,但不是 Fragment。
要在 onCreate 方法的 Activity 中从 ADB 打开 Fragment,您需要检查 Extra:
val showFragment = intent.getStringExtra("show_fragment")
if (showFragment != null) {
if (showFragment == "StreamListFragment") {
supportFragmentManager.beginTransaction()
.replace(R.id.container, StreamListFragment())
.commit()
}
}
R.id.container - 查看容器,您的片段将放置于此。
之后就可以使用adb了。
adb shell am start -n com.example.myapplication/com.example.myapplication.MainActivity --es "show_fragment" "StreamListFragment"