a179583637 2016-06-11 12:39 采纳率: 0%
浏览 1447

求助求助,特别简单的问题,在滑动的时候上面的按钮不变化,但是点击按钮就变化

下面是我Fragment的代码

 package textview.exam;

import android.graphics.Color;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.RadioButton;

import java.util.ArrayList;
import java.util.List;


public class FragmentChat extends Fragment {
    private ArrayList<Fragment> fragmentlist;
    private ViewPager mviewpager;
    private View viewbar;
    private int currIndex;//当前页卡编号
    private List<RadioButton> listViews;


/*    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);
        initView(view);

        InitViewPager(view);

        return view;
    }
    //初始化标签
    private void initView(View view) {
        RadioButton pager1 = (RadioButton)view. findViewById(R.id.main_chat_news);
        RadioButton pager2 = (RadioButton) view.findViewById(R.id.main_chat_trends);
        RadioButton pager3 = (RadioButton) view.findViewById(R.id.main_chat_weather);

        listViews = new ArrayList<RadioButton>();
        listViews.add(pager1);
        listViews.add(pager2);
        listViews.add(pager3);

        pager1.setOnClickListener(new txListner(0));
        pager2.setOnClickListener(new txListner(1));
        pager3.setOnClickListener(new txListner(2));
    }

    //监听页面切换
    private class txListner implements View.OnClickListener {
        private int index = 0;
        public txListner (int i){
            index = i;
        }
        public void onClick(View v){
            mviewpager.setCurrentItem(index);
        }
    }


    /*
 * 初始化ViewPager
 */
    public void InitViewPager(View view){
        mviewpager = (ViewPager)view.findViewById(R.id.id_viewpager);
        fragmentlist = new ArrayList<Fragment>();
        Fragment OneFragment = new FragmentMainchatnews();
        Fragment TwoFragment = new FragmentMainchattrends();
        Fragment ThreeFragment = new FragmentMainchatweather();
        fragmentlist.add(OneFragment);
        fragmentlist.add(TwoFragment);
        fragmentlist.add(ThreeFragment);

        //给ViewPager设置适配器
        mviewpager.setAdapter(new MyFragmentPagerAdapter(getChildFragmentManager(), fragmentlist));
        mviewpager.setCurrentItem(0);//设置当前显示标签页为第一页
        mviewpager.setOnPageChangeListener(new MyOnPageChangeListener());//页面变化时的监听器
    }

    public class MyOnPageChangeListener implements ViewPager.OnPageChangeListener {

        @Override
        public void onPageScrolled(int arg0, float arg1, int arg2) {
            if(currIndex==arg0) {
                RadioButton pager1 = (RadioButton) getView().findViewById(R.id.main_chat_news);
                pager1.setTextColor(Color.WHITE);
            }else if(currIndex==arg1){
                RadioButton pager2 = (RadioButton) getView().findViewById(R.id.main_chat_trends);
                pager2.setTextColor(Color.WHITE);
            }else{
                RadioButton pager3 = (RadioButton) getView().findViewById(R.id.main_chat_weather);
                pager3.setTextColor(Color.WHITE);
            }
        }

        @Override
        public void onPageScrollStateChanged(int arg0) {
            // TODO Auto-generated method stub
        }

        @Override
        public void onPageSelected(int arg0) {
            currIndex = arg0;
        }
    }

}

下面是我xml中的代码

 <?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>

    <android.support.v4.view.ViewPager
        android:id="@+id/id_viewpager"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:flipInterval="30"
        android:persistentDrawingCache="animation"
        android:layout_below="@+id/chat_tab_menu" />


</RelativeLayout>

求大神

  • 写回答

4条回答 默认 最新

  • tz_1qu212 2016-06-11 14:31
    关注

    描述不清晰,最好有截图

    评论

报告相同问题?

悬赏问题

  • ¥15 Python爬取指定微博话题下的内容,保存为txt
  • ¥15 vue2登录调用后端接口如何实现
  • ¥65 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥15 latex怎么处理论文引理引用参考文献
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?