{"id":1681,"date":"2022-12-26T11:12:09","date_gmt":"2022-12-26T03:12:09","guid":{"rendered":"https:\/\/badgameshow.com\/fly\/?p=1681"},"modified":"2023-02-03T11:34:07","modified_gmt":"2023-02-03T03:34:07","slug":"%e3%80%90jetpack%e3%80%91android-navigation-fragment-%e7%ae%a1%e7%90%86-%e7%af%84%e4%be%8b","status":"publish","type":"post","link":"https:\/\/badgameshow.com\/fly\/%e3%80%90jetpack%e3%80%91android-navigation-fragment-%e7%ae%a1%e7%90%86-%e7%af%84%e4%be%8b\/","title":{"rendered":"\ud83d\udeb6\u200d\u2642\ufe0f\u3010Jetpack\u3011Android Navigation \u5275\u5efa\u8207\u8df3\u8f49 (\u4e00) \u7bc4\u4f8b\ud83d\uddfa\ufe0f"},"content":{"rendered":"<h1>\ud83d\udeb6\u200d\u2642\ufe0f\u3010Jetpack\u3011Android Navigation \u5275\u5efa\u8207\u8df3\u8f49 (\u4e00) \u7bc4\u4f8b\ud83d\uddfa\ufe0f<\/h1>\n<h4>Android Jetpack Navigation \u662f\u4e00\u500b\u7d71\u4e00\u7684\u5c0e\u822a\u6846\u67b6\uff0c\u53ef\u4ee5\u8b93\u958b\u767c\u8005\u66f4\u5bb9\u6613\u5730\u5c07 Android \u7686\u5e38\u7528\u7684\u5c0e\u822a\u529f\u80fd\uff08\u5982\u529f\u80fd\u8868\u3001\u5806\u758a\u3001\u62bd\u5c5c\u548c\u5e95\u90e8\u5c0e\u822a\u7b49\uff09\u6dfb\u52a0\u5230\u61c9\u7528\u4e2d\u3002<\/h4>\n<h4>\u5b83\u70ba\u591a\u500b\u5c0e\u822a\u76ee\u7684\u5730\u63d0\u4f9b\u4e00\u81f4\u7684 API\uff0c\u4e26\u53ef\u4ee5\u8b93\u958b\u767c\u8005\u5c07\u5c0e\u822a\u884c\u70ba\u901a\u7528\u65bc\u55ae\u500b\u6216\u591a\u500b\u6d3b\u52d5\u3002<\/h4>\n<p><a class=\"wp-editor-md-post-content-link\" href=\"https:\/\/developer.android.com\/static\/images\/guide\/navigation\/nav-editor-2x.png\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" src=\"https:\/\/developer.android.com\/static\/images\/guide\/navigation\/nav-editor-2x.png\" alt=\"\" \/><\/a><\/p>\n<hr \/>\n<h4>\u6587\u7ae0\u76ee\u9304<\/h4>\n<ol>\n<li><a href=\"#a\">Navigation &#038; Safe Args \u5c0e\u5165<\/a><\/li>\n<li><a href=\"#b\">Navigation \u5275\u5efa nav_graph.xml<\/a><\/li>\n<li><a href=\"#c\">Navigation \u5f15\u7528 FragmentContainerView<\/a><\/li>\n<li><a href=\"#d\">Navigation \u5275\u5efa Fragment<\/a><\/li>\n<li><a href=\"#e\">Navigation \u6dfb\u52a0 Fragment \u5230 nav_graph.xml<\/a><\/li>\n<li><a href=\"#f\">Navigation \u8df3\u8f49 Action \u65b9\u5f0f<\/a><\/li>\n<li><a href=\"#g\">Navigation \u8df3\u8f49 ID \u65b9\u5f0f<\/a><\/li>\n<li><a href=\"#h\">Navigation popUpTo Action \u65b9\u5f0f<\/a><\/li>\n<li><a href=\"#i\">Navigation popUpTo ID \u65b9\u5f0f<\/a><\/li>\n<li><a href=\"#j\">Developer Documents Navigation<\/a><\/li>\n<\/ol>\n<hr \/>\n<p><a id=\"a\"><\/a><\/p>\n<h4>1.Navigation &amp; Safe Args \u5c0e\u5165<\/h4>\n<h5>build.gradle(Module)<\/h5>\n<pre><code class=\"language-groovy line-numbers\">plugins {\n    id 'androidx.navigation.safeargs.kotlin'\n}\n\nandroid {\n    buildFeatures {\n        dataBinding true\n    }\n}\n\ndependencies {\n    def nav_version = \"2.5.3\"\n    implementation \"androidx.navigation:navigation-fragment-ktx:<span class=\"katex math inline\">nav_version\"\n    implementation \"androidx.navigation:navigation-ui-ktx:<\/span>nav_version\"\n}\n<\/code><\/pre>\n<h5>build.gradle(Project)<\/h5>\n<pre><code class=\"language-groovy line-numbers\">buildscript {\n    dependencies {\n        def nav_version = \"2.5.3\"\n        classpath \"androidx.navigation:navigation-safe-args-gradle-plugin:$nav_version\"\n    }\n}\n\nplugins {\n    id 'androidx.navigation.safeargs.kotlin' version '2.5.3' apply false\n}\n<\/code><\/pre>\n<p><a id=\"b\"><\/a><\/p>\n<h4>2.Navigation \u5275\u5efa nav_graph.xml<\/h4>\n<h5>\u9078\u64c7 Android Resource Directory<\/h5>\n<p><a class=\"wp-editor-md-post-content-link\" href=\"https:\/\/badgameshow.com\/fly\/wp-content\/uploads\/2022\/12\/Y3fp3I2.png\"><img decoding=\"async\" src=\"https:\/\/badgameshow.com\/fly\/wp-content\/uploads\/2022\/12\/Y3fp3I2.png\" alt=\"\" \/><\/a><\/p>\n<h5>\u9078\u64c7 navigation<\/h5>\n<p><a class=\"wp-editor-md-post-content-link\" href=\"https:\/\/badgameshow.com\/fly\/wp-content\/uploads\/2022\/12\/3ELA0Xo.png\"><img decoding=\"async\" src=\"https:\/\/badgameshow.com\/fly\/wp-content\/uploads\/2022\/12\/3ELA0Xo.png\" alt=\"\" \/><\/a><\/p>\n<h5>\u5275\u5efa Navigation Resource File<\/h5>\n<p><a class=\"wp-editor-md-post-content-link\" href=\"https:\/\/badgameshow.com\/fly\/wp-content\/uploads\/2022\/12\/nxZ1nnH.png\"><img decoding=\"async\" src=\"https:\/\/badgameshow.com\/fly\/wp-content\/uploads\/2022\/12\/nxZ1nnH.png\" alt=\"\" \/><\/a><\/p>\n<p><a id=\"c\"><\/a><\/p>\n<h4>3.Navigation \u5f15\u7528 FragmentContainerView<\/h4>\n<h5>activity_main.xml<\/h5>\n<pre data-language=XML><code class=\"language-markup line-numbers\">&lt;?xml version=\"1.0\" encoding=\"utf-8\"?&gt;\n&lt;layout xmlns:android=\"http:\/\/schemas.android.com\/apk\/res\/android\"\n    xmlns:app=\"http:\/\/schemas.android.com\/apk\/res-auto\"\n    xmlns:tools=\"http:\/\/schemas.android.com\/tools\"&gt;\n\n    &lt;data&gt;\n\n    &lt;\/data&gt;\n\n    &lt;androidx.constraintlayout.widget.ConstraintLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\"\n        tools:context=\".MainActivity\"&gt;\n\n        &lt;androidx.fragment.app.FragmentContainerView\n            app:defaultNavHost=\"true\"\n            app:navGraph=\"@navigation\/nav_graph\"\n            android:id=\"@+id\/nav_host_fragment\"\n            android:name=\"androidx.navigation.fragment.NavHostFragment\"\n            android:layout_width=\"0dp\"\n            android:layout_height=\"0dp\"\n            app:layout_constraintBottom_toBottomOf=\"parent\"\n            app:layout_constraintEnd_toEndOf=\"parent\"\n            app:layout_constraintStart_toStartOf=\"parent\"\n            app:layout_constraintTop_toTopOf=\"parent\" \/&gt;\n\n    &lt;\/androidx.constraintlayout.widget.ConstraintLayout&gt;\n&lt;\/layout&gt;\n<\/code><\/pre>\n<p><a id=\"d\"><\/a><\/p>\n<h4>4.Navigation \u5275\u5efa Fragment<\/h4>\n<h5>AFragment.kt<\/h5>\n<pre><code class=\"language-kotlin line-numbers\">class AFragment : Fragment(R.layout.fragment_a) {\n\n    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {\n        val binding = FragmentABinding.bind(view)\n    }\n\n}\n<\/code><\/pre>\n<h5>fragment_a.xml<\/h5>\n<pre data-language=XML><code class=\"language-markup line-numbers\">&lt;?xml version=\"1.0\" encoding=\"utf-8\"?&gt;\n&lt;layout xmlns:android=\"http:\/\/schemas.android.com\/apk\/res\/android\"\n    xmlns:app=\"http:\/\/schemas.android.com\/apk\/res-auto\"&gt;\n\n    &lt;data&gt;\n\n    &lt;\/data&gt;\n\n    &lt;androidx.constraintlayout.widget.ConstraintLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\"&gt;\n\n        &lt;androidx.appcompat.widget.AppCompatTextView\n            android:id=\"@+id\/next\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"A\"\n            android:textSize=\"50sp\"\n            app:layout_constraintBottom_toBottomOf=\"parent\"\n            app:layout_constraintEnd_toEndOf=\"parent\"\n            app:layout_constraintStart_toStartOf=\"parent\"\n            app:layout_constraintTop_toTopOf=\"parent\" \/&gt;\n\n    &lt;\/androidx.constraintlayout.widget.ConstraintLayout&gt;\n&lt;\/layout&gt;\n<\/code><\/pre>\n<h5>BFragment.kt<\/h5>\n<pre><code class=\"language-kotlin line-numbers\">class BFragment : Fragment(R.layout.fragment_b) {\n\n    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {\n        val binding = FragmentBBinding.bind(view)\n    }\n\n}\n<\/code><\/pre>\n<h5>fragment_b.xml<\/h5>\n<pre data-language=XML><code class=\"language-markup line-numbers\">&lt;?xml version=\"1.0\" encoding=\"utf-8\"?&gt;\n&lt;layout xmlns:android=\"http:\/\/schemas.android.com\/apk\/res\/android\"\n    xmlns:app=\"http:\/\/schemas.android.com\/apk\/res-auto\"&gt;\n\n    &lt;data&gt;\n\n    &lt;\/data&gt;\n\n    &lt;androidx.constraintlayout.widget.ConstraintLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\"&gt;\n\n        &lt;androidx.appcompat.widget.AppCompatTextView\n            android:id=\"@+id\/next\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"B\"\n            android:textSize=\"50sp\"\n            app:layout_constraintBottom_toBottomOf=\"parent\"\n            app:layout_constraintEnd_toEndOf=\"parent\"\n            app:layout_constraintStart_toStartOf=\"parent\"\n            app:layout_constraintTop_toTopOf=\"parent\" \/&gt;\n\n    &lt;\/androidx.constraintlayout.widget.ConstraintLayout&gt;\n&lt;\/layout&gt;\n<\/code><\/pre>\n<h5>CFragment.kt<\/h5>\n<pre><code class=\"language-kotlin line-numbers\">class CFragment : Fragment(R.layout.fragment_c) {\n\n    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {\n        val binding = FragmentCBinding.bind(view)\n    }\n\n}\n<\/code><\/pre>\n<h5>fragment_c.xml<\/h5>\n<pre data-language=XML><code class=\"language-markup line-numbers\">&lt;?xml version=\"1.0\" encoding=\"utf-8\"?&gt;\n&lt;layout xmlns:android=\"http:\/\/schemas.android.com\/apk\/res\/android\"\n    xmlns:app=\"http:\/\/schemas.android.com\/apk\/res-auto\"&gt;\n\n    &lt;data&gt;\n\n    &lt;\/data&gt;\n\n    &lt;androidx.constraintlayout.widget.ConstraintLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\"&gt;\n\n        &lt;androidx.appcompat.widget.AppCompatTextView\n            android:id=\"@+id\/next\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"C\"\n            android:textSize=\"50sp\"\n            app:layout_constraintBottom_toBottomOf=\"parent\"\n            app:layout_constraintEnd_toEndOf=\"parent\"\n            app:layout_constraintStart_toStartOf=\"parent\"\n            app:layout_constraintTop_toTopOf=\"parent\" \/&gt;\n\n    &lt;\/androidx.constraintlayout.widget.ConstraintLayout&gt;\n&lt;\/layout&gt;\n<\/code><\/pre>\n<p><a id=\"e\"><\/a><\/p>\n<h4>5.Navigation \u6dfb\u52a0 Fragment \u5230 nav_graph.xml<\/h4>\n<p><a class=\"wp-editor-md-post-content-link\" href=\"https:\/\/badgameshow.com\/fly\/wp-content\/uploads\/2022\/12\/pSPJHD3.png\"><img decoding=\"async\" src=\"https:\/\/badgameshow.com\/fly\/wp-content\/uploads\/2022\/12\/pSPJHD3.png\" alt=\"\" \/><\/a><\/p>\n<h5>nav_graph.xml<\/h5>\n<pre data-language=XML><code class=\"language-markup line-numbers\">&lt;?xml version=\"1.0\" encoding=\"utf-8\"?&gt;\n&lt;navigation xmlns:android=\"http:\/\/schemas.android.com\/apk\/res\/android\"\n    xmlns:app=\"http:\/\/schemas.android.com\/apk\/res-auto\"\n    xmlns:tools=\"http:\/\/schemas.android.com\/tools\"\n    android:id=\"@+id\/nav_graph\"\n    app:startDestination=\"@id\/AFragment\"&gt;\n\n    &lt;fragment\n        android:id=\"@+id\/AFragment\"\n        android:name=\"com.example.jetpackdemo.AFragment\"\n        android:label=\"AFragment\"\n        tools:layout=\"@layout\/fragment_a\" \/&gt;\n\n    &lt;fragment\n        android:id=\"@+id\/BFragment\"\n        android:name=\"com.example.jetpackdemo.BFragment\"\n        android:label=\"BFragment\"\n        tools:layout=\"@layout\/fragment_b\" \/&gt;\n\n    &lt;fragment\n        android:id=\"@+id\/CFragment\"\n        android:name=\"com.example.jetpackdemo.CFragment\"\n        android:label=\"CFragment\"\n        tools:layout=\"@layout\/fragment_c\" \/&gt;\n\n&lt;\/navigation&gt;\n<\/code><\/pre>\n<p><a id=\"f\"><\/a><\/p>\n<h4>6.Navigation \u8df3\u8f49 Action \u65b9\u5f0f<\/h4>\n<p><a class=\"wp-editor-md-post-content-link\" href=\"https:\/\/badgameshow.com\/fly\/wp-content\/uploads\/2022\/12\/kG1YYQM.png\"><img decoding=\"async\" src=\"https:\/\/badgameshow.com\/fly\/wp-content\/uploads\/2022\/12\/kG1YYQM.png\" alt=\"\" \/><\/a><\/p>\n<h5>nav_graph.xml<\/h5>\n<pre data-language=XML><code class=\"language-markup line-numbers\">&lt;?xml version=\"1.0\" encoding=\"utf-8\"?&gt;\n&lt;navigation xmlns:android=\"http:\/\/schemas.android.com\/apk\/res\/android\"\n    xmlns:app=\"http:\/\/schemas.android.com\/apk\/res-auto\"\n    xmlns:tools=\"http:\/\/schemas.android.com\/tools\"\n    android:id=\"@+id\/nav_graph\"\n    app:startDestination=\"@id\/AFragment\"&gt;\n\n    &lt;fragment\n        android:id=\"@+id\/AFragment\"\n        android:name=\"com.example.jetpackdemo.AFragment\"\n        android:label=\"AFragment\"\n        tools:layout=\"@layout\/fragment_a\" &gt;\n        &lt;action\n            android:id=\"@+id\/action_AFragment_to_BFragment\"\n            app:destination=\"@id\/BFragment\" \/&gt;\n    &lt;\/fragment&gt;\n\n    &lt;fragment\n        android:id=\"@+id\/BFragment\"\n        android:name=\"com.example.jetpackdemo.BFragment\"\n        android:label=\"BFragment\"\n        tools:layout=\"@layout\/fragment_b\" &gt;\n        &lt;action\n            android:id=\"@+id\/action_BFragment_to_CFragment\"\n            app:destination=\"@id\/CFragment\" \/&gt;\n    &lt;\/fragment&gt;\n\n    &lt;fragment\n        android:id=\"@+id\/CFragment\"\n        android:name=\"com.example.jetpackdemo.CFragment\"\n        android:label=\"CFragment\"\n        tools:layout=\"@layout\/fragment_c\" &gt;\n        &lt;action\n            android:id=\"@+id\/action_CFragment_to_AFragment\"\n            app:destination=\"@id\/AFragment\" \/&gt;\n    &lt;\/fragment&gt;\n\n&lt;\/navigation&gt;\n<\/code><\/pre>\n<h5>AFragment.kt<\/h5>\n<pre><code class=\"language-kotlin line-numbers\">class AFragment : Fragment(R.layout.fragment_a) {\n\n    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {\n        val binding = FragmentABinding.bind(view)\n\n        binding.next.setOnClickListener {\n            val action = AFragmentDirections.actionAFragmentToBFragment()\n            findNavController().navigate(action)\n        }\n\n    }\n\n}\n<\/code><\/pre>\n<h5>BFragment.kt<\/h5>\n<pre><code class=\"language-kotlin line-numbers\">class BFragment : Fragment(R.layout.fragment_b) {\n\n    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {\n        val binding = FragmentBBinding.bind(view)\n\n        binding.next.setOnClickListener {\n            val action = BFragmentDirections.actionBFragmentToCFragment()\n            findNavController().navigate(action)\n        }\n\n    }\n\n}\n<\/code><\/pre>\n<h5>CFragment.kt<\/h5>\n<pre><code class=\"language-kotlin line-numbers\">class CFragment : Fragment(R.layout.fragment_c) {\n\n    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {\n        val binding = FragmentCBinding.bind(view)\n\n        binding.next.setOnClickListener {\n            val action = CFragmentDirections.actionCFragmentToAFragment()\n            findNavController().navigate(action)\n        }\n\n    }\n\n}\n<\/code><\/pre>\n<p><a id=\"g\"><\/a><\/p>\n<h4>7.Navigation \u8df3\u8f49 ID \u65b9\u5f0f<\/h4>\n<h5>AFragment.kt<\/h5>\n<pre><code class=\"language-kotlin line-numbers\">class AFragment : Fragment(R.layout.fragment_a) {\n\n    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {\n        val binding = FragmentABinding.bind(view)\n\n        binding.next.setOnClickListener {\n            findNavController().navigate(R.id.BFragment)\n        }\n\n    }\n\n}\n<\/code><\/pre>\n<h5>BFragment.kt<\/h5>\n<pre><code class=\"language-kotlin line-numbers\">class BFragment : Fragment(R.layout.fragment_b) {\n\n    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {\n        val binding = FragmentBBinding.bind(view)\n\n        binding.next.setOnClickListener {\n            findNavController().navigate(R.id.CFragment)\n        }\n\n    }\n\n}\n<\/code><\/pre>\n<h5>CFragment.kt<\/h5>\n<pre><code class=\"language-kotlin line-numbers\">class CFragment : Fragment(R.layout.fragment_c) {\n\n    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {\n        val binding = FragmentCBinding.bind(view)\n\n        binding.next.setOnClickListener {\n            findNavController().navigate(R.id.AFragment)\n        }\n\n    }\n\n}\n<\/code><\/pre>\n<p><a id=\"h\"><\/a><\/p>\n<h4>8.Navigation popUpTo Action \u65b9\u5f0f<\/h4>\n<h5>nav_graph.xml<\/h5>\n<pre data-language=XML><code class=\"language-markup line-numbers\">&lt;?xml version=\"1.0\" encoding=\"utf-8\"?&gt;\n&lt;navigation xmlns:android=\"http:\/\/schemas.android.com\/apk\/res\/android\"\n    xmlns:app=\"http:\/\/schemas.android.com\/apk\/res-auto\"\n    xmlns:tools=\"http:\/\/schemas.android.com\/tools\"\n    android:id=\"@+id\/nav_graph\"\n    app:startDestination=\"@id\/AFragment\"&gt;\n\n    &lt;fragment\n        android:id=\"@+id\/AFragment\"\n        android:name=\"com.example.jetpackdemo.AFragment\"\n        android:label=\"AFragment\"\n        tools:layout=\"@layout\/fragment_a\" &gt;\n        &lt;action\n            android:id=\"@+id\/action_AFragment_to_BFragment\"\n            app:destination=\"@id\/BFragment\" \/&gt;\n    &lt;\/fragment&gt;\n\n    &lt;fragment\n        android:id=\"@+id\/BFragment\"\n        android:name=\"com.example.jetpackdemo.BFragment\"\n        android:label=\"BFragment\"\n        tools:layout=\"@layout\/fragment_b\" &gt;\n        &lt;action\n            android:id=\"@+id\/action_BFragment_to_CFragment\"\n            app:destination=\"@id\/CFragment\" \/&gt;\n    &lt;\/fragment&gt;\n\n    &lt;fragment\n        android:id=\"@+id\/CFragment\"\n        android:name=\"com.example.jetpackdemo.CFragment\"\n        android:label=\"CFragment\"\n        tools:layout=\"@layout\/fragment_c\" &gt;\n        &lt;action\n            android:id=\"@+id\/action_CFragment_to_AFragment\"\n            app:destination=\"@id\/AFragment\"\n            app:popUpTo=\"@+id\/AFragment\"\n            app:popUpToInclusive=\"true\"\/&gt;\n    &lt;\/fragment&gt;\n\n&lt;\/navigation&gt;\n<\/code><\/pre>\n<h5>CFragment.kt<\/h5>\n<pre><code class=\"language-kotlin line-numbers\">class CFragment : Fragment(R.layout.fragment_c) {\n\n    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {\n        val binding = FragmentCBinding.bind(view)\n\n        binding.next.setOnClickListener {\n            val action = CFragmentDirections.actionCFragmentToAFragment()\n            findNavController().navigate(action)\n        }\n\n    }\n\n}\n<\/code><\/pre>\n<p><a id=\"i\"><\/a><\/p>\n<h4>9.Navigation popUpTo ID \u65b9\u5f0f<\/h4>\n<h5>CFragment.kt<\/h5>\n<pre><code class=\"language-kotlin line-numbers\">class CFragment : Fragment(R.layout.fragment_c) {\n\n    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {\n        val binding = FragmentCBinding.bind(view)\n\n        binding.next.setOnClickListener {\n            findNavController().popBackStack(R.id.AFragment, true)\n        }\n\n    }\n\n}\n<\/code><\/pre>\n<p><a id=\"j\"><\/a><\/p>\n<h4>10.Developer Documents Navigation<\/h4>\n<p><a class=\"wp-editor-md-post-content-link\" href=\"https:\/\/developer.android.com\/guide\/navigation\" title=\"Open in Documents Navigation\" target=\"_blank\" rel=\"noopener\">Open in Documents Navigation<\/a><\/p>\n\n<div style=\"font-size: 0px; height: 0px; line-height: 0px; margin: 0; padding: 0; clear: both;\"><\/div>","protected":false},"excerpt":{"rendered":"<p>\ud83d\udeb6\u200d\u2642\ufe0f\u3010Jetpack\u3011Android Navigation \u5275\u5efa\u8207\u8df3\u8f49 (\u4e00) \u7bc4\u4f8b\ud83d\uddfa\ufe0f Android  &hellip; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"pgc_sgb_lightbox_settings":"","footnotes":""},"categories":[106],"tags":[13,107,226],"class_list":["post-1681","post","type-post","status-publish","format-standard","hentry","category-jetpack","tag-android","tag-jetpack","tag-navigation"],"_links":{"self":[{"href":"https:\/\/badgameshow.com\/fly\/wp-json\/wp\/v2\/posts\/1681","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/badgameshow.com\/fly\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/badgameshow.com\/fly\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/badgameshow.com\/fly\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/badgameshow.com\/fly\/wp-json\/wp\/v2\/comments?post=1681"}],"version-history":[{"count":6,"href":"https:\/\/badgameshow.com\/fly\/wp-json\/wp\/v2\/posts\/1681\/revisions"}],"predecessor-version":[{"id":1846,"href":"https:\/\/badgameshow.com\/fly\/wp-json\/wp\/v2\/posts\/1681\/revisions\/1846"}],"wp:attachment":[{"href":"https:\/\/badgameshow.com\/fly\/wp-json\/wp\/v2\/media?parent=1681"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/badgameshow.com\/fly\/wp-json\/wp\/v2\/categories?post=1681"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/badgameshow.com\/fly\/wp-json\/wp\/v2\/tags?post=1681"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}