创建标题 点击radiogroup传值给标题

这篇博客探讨了如何在Android应用中,通过RadioGroup组件实现点击事件,将选中的值作为标题传递给不同的Fragment。主要内容包括主页面结构、Activity基类的设计以及四个模拟Fragment的实现和布局配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

主页面

package com.list.moni;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.FrameLayout;
import android.widget.RadioGroup;
import android.widget.TextView;
import com.list.moni.frag.Frag1;
import com.list.moni.frag.Frag2;
import com.list.moni.frag.Frag3;
import com.list.moni.frag.Frag4;
import com.list.moni.jilei.BaseActivity;
public class MainActivity extends BaseActivity {

    private TextView title_11;
    private FrameLayout fl_11;
    private RadioGroup radio_11;
    private Frag1 frag1;
    private Frag2 frag2;
    private Frag3 frag3;
    private Frag4 frag4;
    
@Override
protected void initData() {
    //开启事务
    FragmentManager manager = getSupportFragmentManager();
    final FragmentTransaction transaction = manager.beginTransaction();
    //创建几个fragment
    frag1 = new Frag1();
    frag2 = new Frag2();
    frag3 = new Frag3();
    frag4 = new Frag4();
    //帧布局
    transaction.add(R.id.fl_11, frag1);
    transaction.add(R.id.fl_11, frag2);
    transaction.add(R.id.fl_11, frag3);
    transaction.add(R.id.fl_11, frag4);
    //默认第1个开启其他隐藏
    transaction.show(frag1).hide(frag3).hide(frag2).hide(frag4).commit();
    radio_11.check(radio_11.getChildAt(0).getId());
    
    //点击radiogroup按钮
    radio_11.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(RadioGroup group, int checkedId) {
            //开启事务
            FragmentManager manager1 = getSupportFragmentManager();
            FragmentTransaction transaction1 = manager1.beginTransaction();
            switch (checkedId) {
                case R.id.rb_11:
                    //赋值
                    title_11.setText("消息");
                    transaction1.show(frag1).hide(frag2).hide(frag3).hide(frag4).commit();
                    break;
                case R.id.rb_22:
                    //赋值
                    title_11.setText("联系人");
                    transaction1.show(frag2).hide(frag1).hide(frag3).hide(frag4).commit();
                    break;
                case R.id.rb_33:
                    //赋值
                    title_11.setText("看点");
                    transaction1.show(frag3).hide(frag2).hide(frag1).hide(frag4).commit();
                    break;
                case R.id.rb_44:
                    //赋值
                    title_11.setText("我的");
                    transaction1.show(frag4).hide(frag2).hide(frag3).hide(frag1).commit();
                    break;
            }
        }
    });
}

@Override
protected void initView() {
    //初始化控件
    title_11 = findViewById(R.id.title_11);
    fl_11 = findViewById(R.id.fl_11);
    radio_11 = findViewById(R.id.radio_11);
}

@Override
protected int layoutResID() {
    return R.layout.activity_main;
}
}

主布局

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/dl"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
  
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    <!--标题-->
    <TextView
        android:id="@+id/title_11"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:gravity="center"
        android:text="消息"
        android:textSize="30sp" />
    <!--帧布局站位-->
    <FrameLayout
        android:id="@+id/fl_11"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="10">
    </FrameLayout>

    <RadioGroup
        android:id="@+id/radio_11"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <RadioButton
            android:id="@+id/rb_11"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="2"
            android:background="@drawable/rb_11"
            android:button="@null"
            android:gravity="center"
            android:text="消息"
            android:textSize="26sp" />

        <RadioButton
            android:id="@+id/rb_22"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="2"
            android:background="@drawable/rb_11"
            android:button="@null"
            android:gravity="center"
            android:text="联系人"
            android:textSize="26sp" />

        <RadioButton
            android:id="@+id/rb_33"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="2"
            android:background="@drawable/rb_11"
            android:button="@null"
            android:gravity="center"
            android:text="看点"
            android:textSize="26sp" />

        <RadioButton
            android:id="@+id/rb_44"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="2"
            android:background="@drawable/rb_11"
            android:button="@null"
            android:gravity="center"
            android:text="我的"
            android:textSize="26sp" />
    </RadioGroup>
  
</android.support.v4.widget.DrawerLayout>

Activity基类

package com.list.moni.jilei;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;

public abstract class BaseActivity extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(layoutResID());//布局
    initView();//初始化控件
    initData();//初始化数据
}

protected abstract void initData();

protected abstract void initView();

protected abstract int layoutResID();
}

模拟4个Fragment类和4个frgament布局

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值