当前位置: 首页 > 知识库问答 >
问题:

如何在Android Studio中从一个活动导航到另一个活动的片段?

花稳
2023-03-14

我有个错误

 public void on_Image_Button_9_Clicked(View view)
    {
        Intent click 5=new Intent(home.this,category 2.class);
        start Activity(click 5);
    }

//类别2是片段

共有1个答案

柳浩大
2023-03-14

你的方法是错误的。要访问片段,需要创建FragmentTransaction。

我邀请您阅读这篇关于片段如何工作以防止使用它的任何坏习惯的指南。

因此,要么调用包含所需片段的活动,要么将片段加载到当前容器中。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent">
<fragment android:name="com.example.news.ArticleListFragment"
        android:id="@+id/list"
        android:layout_weight="1"
        android:layout_width="0dp"
        android:layout_height="match_parent" />
<fragment android:name="com.example.news.ArticleReaderFragment"
        android:id="@+id/viewer"
        android:layout_weight="2"
        android:layout_width="0dp"
        android:layout_height="match_parent" />
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout android:id="@+id/myContainer"
        android:layout_weight="1"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
</LinearLayout>
 public class MyActivity extends AppCompatActivity {
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.myActivity_layout);
            setFragment()
        }


        public void setFragment() {
            // Create new fragment and transaction
            Fragment newFragment = new ExampleFragment();
            FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();

            // Replace whatever is in the fragment_container view with this fragment, and add the transaction to the back stack
            transaction.replace(R.id.myContainer, newFragment);
            transaction.addToBackStack(null);

            // Commit the transaction
            transaction.commit();
        }
    }
 类似资料:
  • 我有两个活动,一个使用导航图,另一个不使用。如何从不使用导航控制器的活动导航到导航图中的片段? 我试图从ImportMonsterActivity(在将新实体添加到db之后)导航到MainActivity导航图中的EditMonsterFragment。 我想我应该能够创建一个正常的意图,并给它一些额外的东西来指定导航图中的位置,但是我没有找到这种导航的任何留档。一切要么使用另一个应用程序的深层链

  • 我需要拍照并发送到主活动并发送到第三活动 这是MainActivity的代码 我有任何错误,但当我试图拍摄一张照片时,我得到这样的信息:不幸的是,第一相机停止了,我的问题是什么?

  • 在SO上也有类似的问题,但没有一个对我有效。 我想在Activity1中获取被点击的图像并在Activity2中显示它。 我获取被点击图像的图像id如下所示: 并通过意图传递给另一个活动。 任何帮助都很感激。

  • 问题内容: 听起来很简单,但我无法使其正常工作。我有两个活动。第一个是表单,第二个是根据在第一个活动中输入的值显示JSON文件中的数据。 因此,我正在尝试制作一个简单的版本。我有一个EditText和一个按钮,因此当他们按下按钮时,EditText中的内容将出现在下一个活动的TextView中。 到目前为止,这是我的代码: 主要活动 主要XML 第二次活动 第二个XML 通过这种方式,我为Edit

  • 我在活动2中有一个字符串 我想在activity1的文本字段中插入此字符串。我该怎么做?

  • 我有两个活动,分别是家庭活动和沙拉菜单活动。主页活动包含七个片段,其中一个名为菜单类别的片段有四个图像,第一个图像下面的文本是沙拉菜单,当用户单击沙拉菜单时,将启动名为沙拉菜单活动的新活动。 我想,当用户点击后退按钮时,home活动必须开始,并且应该从启动salad菜单活动的相同片段开始,即home活动中的菜单类别片段。我希望每个活动都会发生这种情况,例如,如果用户从您的订单片段开始一个新的活动,