BaseActivity的使用案例

/**
* 基本一定定义抽象类
* 1.规范代码书写位置
* 2.常用(公用)的方法
* */

public abstract class BaseActivity extends AppCompatActivity {

/**
 * 初使化页面控件
 */
public abstract void initView();

/**
 * 给页面上组件设置监听事件
 */
public abstract void setListener();

/**
 * 初使化页面的数据
 */
public abstract void initData();

/**
 * 获取activity的布局
 * @return
 */
public abstract int getActivityLayout();


@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Log.d("zzz","base:oncreate");
    //设置内容视图
    setContentView(getActivityLayout());

    initView();
    setListener();
    initData();


}

//定义弹出的吐司的方法
public void showTip(String tipStr){
    Toast.makeText(this,tipStr,Toast.LENGTH_SHORT).show();
}

}


public class MainActivity extends BaseActivity {

private DrawerLayout drawerLayout;
private LinearLayout linearLayout;
private RadioGroup radioGroup;
private ImageView imageView;

@Override
public void initView() {
    Log.d("zzz","---2----");
    drawerLayout = (DrawerLayout) findViewById(R.id.drawer);
    linearLayout = (LinearLayout) findViewById(R.id.menu);
    imageView = (ImageView) findViewById(R.id.img);
    radioGroup = (RadioGroup) findViewById(R.id.rel_navigate);

}

@Override
public void setListener() {
    Log.d("zzz","---3----");
    imageView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //关闭侧滑菜单
            drawerLayout.closeDrawer(linearLayout);
        }
    });

    //添加事件
    radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(RadioGroup group, int checkedId) {
            switch (checkedId){
                case R.id.rb_index:
                    //动态添加fragment
                    getSupportFragmentManager().beginTransaction().replace(R.id.main_content,new IndexFragment()).commit();

                    //调用父类的方法
                    showTip("这是首页页面");
                    break;
                case R.id.rb_discovery:
                    addContentFragment("发现");
                    //调用父类的方法
                    showTip("这是发现页面");
                    break;
                case R.id.rb_down:
                    addContentFragment("下载");
                    //调用父类的方法
                    showTip("这是下载页面");
                    break;
                case R.id.rb_me:
                    addContentFragment("我的");
                    break;
            }

        }
    });

}

@Override
public void initData() {
    Log.d("zzz","---4----");
    //首次添加indexfragment
    getSupportFragmentManager().beginTransaction().replace(R.id.main_content,new IndexFragment()).commit();


}

@Override
public int getActivityLayout() {
    Log.d("zzz","---1----");
    return R.layout.activity_main;
}

// @Override
// protected void onCreate(Bundle savedInstanceState) {
// super.onCreate(savedInstanceState);
// setContentView(R.layout.activity_main);
//
//
// }

public void addContentFragment(String str){
    Bundle bundle=new Bundle();
    bundle.putString("key",str);

    ContentFragment contentFragment=new ContentFragment();
    contentFragment.setArguments(bundle);
    //动态添加fragment
    getSupportFragmentManager().beginTransaction().replace(R.id.main_content,contentFragment).commit();

}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值