从活动中调用片段(来自OnClickListener) [英] Call a Fragment from an Activity (from OnClickListener)

查看:42
本文介绍了从活动中调用片段(来自OnClickListener)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的活动中有一个按钮,当我单击该按钮时,我想调用一个片段.

I have a button inside my Activity and when I click on this button I want to call a Fragment.

例如,如果我想调用一个活动,我可以使用意图,但是如果我想调用一个片段,我该怎么做?

For example if I want to call an Activity I can use the intent but if I want to call a Fragment, how can I do that?

我已经检查了其他问题,但是没有找到要问的答案.

I have checked other questions but I have not found an answer to what I'm asking.

btnHome.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

        }
    });

我要在里面放什么?

推荐答案

您可以动态添加片段.要创建片段.

You can add your fragment dynamically.You want to create a fragment.

要以编程方式添加或删除片段,您将需要 FragmentManager FragmentTransaction

To programmatically add or remove a Fragment, you will need the FragmentManager and FragmentTransaction

XML布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

 <FrameLayout
    android:id="@+id/myFrame" <!-- Id which you're gonna use in Java -->
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />

 <Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Click me" />

 </LinearLayout>

Java

btnHome.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {

  FragmentManager fragmentManager = getFragmentManager ();
  FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction ();

   MyFragment myfragment = new MyFragment();  //your fragment 

 // work here to add, remove, etc
  fragmentTransaction.add (R.id.myFrame, myfragment);
  fragmentTransaction.commit ();

    }
});

参阅此文档

这篇关于从活动中调用片段(来自OnClickListener)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆