Android 应用碎片化


public class MainActivity extends FragmentActivity implements View.OnClickListener {

    private static FragmentManager mFragmentManager;
   
    private ArrayList<Fragment> fragments = null;
    private InviteFragment inviteFragment;
    private MineFragment mineFragment;
    private MoneyFragment moneyFragment;
    private TaskFragment taskFragment;
    private int currentFootIndex = 0;
    private RadioButton footer_rb_money;
    private RadioButton footer_rb_task;
    private RadioButton footer_rb_mine;
   

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initWidgets();
        initData();
        registerPicMessageReceiver();
        registerHeaderMessageReceiver();
    }

   
    private void initData() {


    }

    private void initWidgets() {
        footer_rb_money = (RadioButton) findViewById(R.id.footer_rb_money);
        findViewById(R.id.footer_rb_invite).setOnClickListener(this);
        footer_rb_mine = (RadioButton) findViewById(R.id.footer_rb_mine);
        footer_rb_mine.setOnClickListener(this);
        footer_rb_money.setOnClickListener(this);
        footer_rb_task = (RadioButton) findViewById(R.id.footer_rb_task);
        footer_rb_task.setOnClickListener(this);

        // 获取FragmentManager实例
        mFragmentManager = getSupportFragmentManager();
        // 初始化首个fragment
        initFragment();
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.footer_rb_task:
                setFootItemSelected(currentFootIndex, 0);

                break;

            case R.id.footer_rb_money:
                setFootItemSelected(currentFootIndex, 1);
                sendBroadcast(new Intent(CommonData.Invite_listview));
                break;

            case R.id.footer_rb_invite:
                setFootItemSelected(currentFootIndex, 2);
                Intent intent = new Intent(CommonData.Invite_listview);
                sendBroadcast(intent);
                break;

            case R.id.footer_rb_mine:
                setFootItemSelected(currentFootIndex, 3);

                break;

            default:
                break;
        }

    }

    /**
     * 初始化fragment
     */
    private void initFragment() {
        FragmentTransaction fragmentTransaction = mFragmentManager.beginTransaction();
        fragmentTransaction.setCustomAnimations(
                R.anim.push_left_in,
                R.anim.push_right_out);
        fragments = new ArrayList<>();
        taskFragment = new TaskFragment();
        moneyFragment = new MoneyFragment();
        inviteFragment = new InviteFragment();
        mineFragment = new MineFragment();
        fragments.add(taskFragment);
        fragments.add(moneyFragment);
        fragments.add(inviteFragment);
        fragments.add(mineFragment);

        fragmentTransaction.add(R.id.content, fragments.get(0)).commit();

    }

    /**
     * 切换tab更换展示内容
     *
     * @param
     */
    public void setFootItemSelected(int currentFragment, int index) {
        if (currentFragment != index && fragments != null && fragments.get(index) != null) {
            mFragmentManager.popBackStack();
            mFragmentManager.beginTransaction().setCustomAnimations(R.anim.push_right_in, R.anim
                    .push_left_out);
            if (fragments.get(index).isAdded()) {
                mFragmentManager.beginTransaction().hide(fragments.get(currentFragment)).show
                        (fragments.get(index))
                        .commitAllowingStateLoss();
            } else {
                mFragmentManager.beginTransaction().hide(fragments.get(currentFragment))
                        .add(R.id.content, fragments.get(index)).commitAllowingStateLoss();
            }
            currentFootIndex = index;
        }
    }

    

    /**
     * 注册广播
     */
    public void registerHeaderMessageReceiver() {
        mHeaderMessageReceiver = new HeaderMessageReceiver();
        IntentFilter filter = new IntentFilter();
        filter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY);
        filter.addAction(TaskFragment.GET_RECEIVE_Task);
        this.registerReceiver(mHeaderMessageReceiver, filter);
    }


    /**
     * 接受广播
     */
    public class PicMessageReceiver extends BroadcastReceiver {

        @Override
        public void onReceive(Context context, Intent intent) {
            if (MineFragment.GET_RECEIVE_MONEY.equals(intent.getAction())) {
                setFootItemSelected(currentFootIndex, 1);
                footer_rb_money.setChecked(true);
            }
        }
    }

   
}
 
 
<?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"
    tools:context="com.yuqun.main.MainActivity">

    <!--<include layout="@layout/top_title_layout" />-->

    <FrameLayout
        android:id="@+id/content"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginBottom="50dp">

    </FrameLayout>

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true">
        <include layout="@layout/footer_tap_layout" />
    </RelativeLayout>


</RelativeLayout>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值