紫易语风 2016-04-20 04:43 采纳率: 0%
浏览 1225

java AS新手求助。以下是代码:

setOnCheckedChangeListener方法参数类型不匹配

ackage gke_code_jrxd.Demo.ui;

import android.app.Activity;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentTransaction;
import android.widget.CompoundButton;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.RadioGroup.OnCheckedChangeListener;

import gke_code_jrxd.Demo.BuildConfig;
import gke_code_jrxd.Demo.R;
import gke_code_jrxd.Demo.ui.index.FunnyFragment;
import gke_code_jrxd.Demo.ui.index.IndexFragment;
import gke_code_jrxd.Demo.ui.index.NewsFragment;
import gke_code_jrxd.Demo.ui.widget.TitleBar;

import butterknife.Bind;
import butterknife.ButterKnife;

public class MainActivity extends FragmentActivity {

@Bind(R.id.titleBar)
TitleBar titleBar;

@Bind(R.id.rgTabBar)
RadioButton rgTabBar;

@Bind(R.id.rbTabIndex)
RadioButton rbTabIndex;

@Bind(R.id.rbTabNews)
RadioButton rbTabNews;

@Bind(R.id.rbTabFunny)
RadioButton rbTabFunny;

IndexFragment mIndexFragment = new IndexFragment();
NewsFragment mNewsFragment = new NewsFragment();
FunnyFragment mFunnyFragment = new FunnyFragment();

@Override
protected void onCreate(Bundle savedInstanceState) {

// this.requestWindowFeature(Window.FEATURE_NO_TITLE);//去除标题栏

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    ButterKnife.bind(this);
    titleBar.setTitle("首页");
    titleBar.setLeftTextLeftDrawable("", 0);
    addFragment();

rgTabBar.setOnCheckedChangeListener(mOnCheckedChangeListener);

    // rgTabBar.check(R.id.rbTabIndex);
    // 在这里为什么不用 check(R.id.rbTabIndex)默认选中第一项,是因为y
    // mOnCheckedChangeListener事件会执行多次,所以弃用它,
    // 直接让第一个RadioButton设置选中解决该问题
    rbTabIndex.setChecked(true);
}

/**
 * 首页tab索引
 **/
final int TAB_INDEX = 0;
/**
 * 今日新闻tab索引
 **/
final int TAB_NEWS = 1;
/**
 * 今日笑点tab索引
 **/
final int TAB_FUNNY = 2;
/**
 * 当前展示的tab索引
 **/
int mCurShowFragmentIndex;
/**
 * tab选项卡监听器
 */
RadioGroup.OnCheckedChangeListener mOnCheckedChangeListener = new RadioGroup.OnCheckedChangeListener() {

    @Override
    public void OnCheckedChanged(RadioGroup group,int checkedId) {
        switch (checkedId) {
            case R.id.rbTabIndex:
                changeTab(TAB_INDEX);
                break;
            case R.id.rbTabNews:
                changeTab(TAB_NEWS);
                break;
            case R.id.rbTabFunny:
                changeTab(TAB_FUNNY);
                break;
        }
    }
};
public void addFragment() {
    FragmentTransaction transaction = getSupportFragmentManager()
            .beginTransaction();
    transaction.add(R.id.flContent, mIndexFragment);
    transaction.add(R.id.flContent, mNewsFragment);
    transaction.add(R.id.flContent, mFunnyFragment);
    transaction.commit();

    showFragment(TAB_INDEX);
}

/**
 * 切换 tab选项卡
 * @param tabItem
 */
public void changeTab(final int tabItem) {
    switch (tabItem) {
        case TAB_INDEX:
            titleBar.setTitle("首页");
            mCurShowFragmentIndex = TAB_INDEX;
            showFragment(TAB_INDEX);
            break;
        case TAB_NEWS:
            titleBar.setTitle("今日新闻");
            mCurShowFragmentIndex = TAB_NEWS;
            showFragment(TAB_NEWS);
            break;
        case TAB_FUNNY:
            titleBar.setTitle("今日笑点");
            mCurShowFragmentIndex = TAB_FUNNY;
            showFragment(TAB_FUNNY);
            break;
    }
    //showFragment(mCurShowFragmentIndex);
}
/**
 * hide所有的fragment
 */
private void hideFragment() {
    FragmentTransaction transaction = getSupportFragmentManager()
            .beginTransaction();
    transaction.hide(mIndexFragment);
    transaction.hide(mNewsFragment);
    transaction.hide(mFunnyFragment);
    transaction.commit();
}
/**
 * show选中的fragment
 *
 * @param tab
 */
public void showFragment(final int tab) {
    hideFragment();
    FragmentTransaction transaction = getSupportFragmentManager()
           .beginTransaction();
    switch (tab) {
        case TAB_INDEX:
            transaction.show(mIndexFragment);
            break;
        case TAB_NEWS:
            transaction.show(mNewsFragment);
            break;
        case TAB_FUNNY:
            transaction.show(mFunnyFragment);
            break;
    }
    transaction.commit();
}

}

  • 写回答

1条回答

  • qq_34688538 2016-04-20 04:56
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 latex怎么处理论文引理引用参考文献
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用