/**
* 基本一定定义抽象类
* 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();
}
}