a179583637 2016-06-11 08:10 采纳率: 0%
浏览 2601
已采纳

主Fragment嵌套三个Fragment,怎么实现滑动切换fragment

下面是我的主Fragment代码
package textview.exam;

import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.RadioGroup;

public class FragmentChat extends Fragment {

private RadioGroup main_chat_newsRedio;
private FragmentMainchatnews main_chat_news;
private FragmentMainchattrends main_chat_trends;
private FragmentMainchatweather main_chat_weather;

@Override
public void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);

}

@Override
public View onCreateView(LayoutInflater inflater,
                         @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    View view = inflater.inflate(R.layout.main_chat, null);
    GroupChang(view);

    return view;
}







//主页面点击按钮Fragment改变
public void GroupChang(View view){
    //在chat页面中嵌套fragment
    main_chat_news = new FragmentMainchatnews();
    getChildFragmentManager().beginTransaction().replace(R.id.main_chat_content, main_chat_news).commit();
    main_chat_newsRedio = (RadioGroup) view.findViewById(R.id.chat_tab_menu);
    main_chat_newsRedio.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {


        @Override
        public void onCheckedChanged(RadioGroup group, int checkedId) {
            // TODO Auto-generated method stub
            switch (checkedId) {
                case R.id.main_chat_news:
                    main_chat_news = new FragmentMainchatnews();
                    getChildFragmentManager().beginTransaction().replace(R.id.main_chat_content, main_chat_news)
                            .commit();
                    break;
                case R.id.main_chat_trends:
                    if (main_chat_trends==null) {
                        main_chat_trends =new FragmentMainchattrends();
                    }
                    Log.i("MyFragment", "FragmentMainchattrends");
                    getChildFragmentManager().beginTransaction().replace(R.id.main_chat_content, main_chat_trends).commit();
                    break;
                case R.id.main_chat_weather:
                    main_chat_weather = new FragmentMainchatweather();
                    getChildFragmentManager().beginTransaction().replace(R.id.main_chat_content, main_chat_weather)
                            .commit();
                    break;
                default:
                    break;
            }

        }
    });

}

}


下面是主Fragment的布局文件

 <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.exam.Activity">

    <RadioGroup
        android:id="@+id/chat_tab_menu"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="#FF0066"
        android:orientation="horizontal" >

        <RadioButton
            android:id="@+id/main_chat_news"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom"
            android:layout_weight="1"
            android:button="@null"
            android:checked="true"
            android:height="140px"

            android:gravity="center"
            android:paddingTop="2dp"
            android:text="新闻"
            android:textColor="@color/tab_selector_tv_color" />

        <RadioButton
            android:id="@+id/main_chat_trends"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom"
            android:layout_weight="1"
            android:button="@null"
            android:height="140px"
            android:gravity="center"
            android:paddingTop="2dp"
            android:text="动态"
            android:textColor="@color/tab_selector_tv_color" />

        <RadioButton
            android:id="@+id/main_chat_weather"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom"
            android:layout_weight="1"
            android:button="@null"
            android:height="140px"
            android:gravity="center"
            android:paddingTop="2dp"
            android:text="天气"
            android:textColor="@color/tab_selector_tv_color"
            android:checked="false" />

    </RadioGroup>
    <View
        android:id="@+id/view_pager"
        android:layout_width="match_parent"
        android:layout_height="3dp"
        android:background="#77A0DD"/>
    <include layout="@layout/line"/>

    <FrameLayout
        android:id="@+id/main_chat_content"
        android:layout_width="fill_parent"
        android:layout_height="500dp"
        android:layout_weight="1"
        android:flipInterval="30"
        android:layout_below="@+id/chat_tab_menu" />


</RelativeLayout>

  • 写回答

2条回答 默认 最新

  • qq_22875583 2016-06-12 05:46
    关注

    用viewpager把fragment添加到里面就可以实现滑动了!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)
  • ¥20 怎么在stm32门禁成品上增加查询记录功能
  • ¥15 Source insight编写代码后使用CCS5.2版本import之后,代码跳到注释行里面
  • ¥50 NT4.0系统 STOP:0X0000007B
  • ¥15 想问一下stata17中这段代码哪里有问题呀
  • ¥15 flink cdc无法实时同步mysql数据
  • ¥100 有人会搭建GPT-J-6B框架吗?有偿