initviewinitview
1.布局
<?xml version="1.0" encoding="utf-8"?>
《LinearLayout
xmlns:android=“”
xmlns:app=“”
xmlns:tools=“”
android:layout_width=“match_parent”
android:layout_height=“match_parent”
tools:context=".view.activity.MainActivity"
android:orientation=“vertical”
》
《android.support.v4.view.ViewPager
android:layout_width=“match_parent”
android:layout_height=“0dp”
android:layout_weight=“9”
android:id="@+id/viewpager"
/ 》
《RadioGroup
android:layout_width=“match_parent”
android:layout_height=“0dp”
android:layout_weight=“1”
android:id="@+id/group"
android:orientation=“horizontal”
》
《RadioButton
android:layout_width=“0dp”
android:layout_weight=“1”
android:layout_height=“match_parent”
android:button="@null"
android:id="@+id/r1"
android:gravity=“center”
android:background="@drawable/sel_r"
/ 》
《RadioButton
android:layout_width=“0dp”
android:layout_weight=“1”
android:layout_height=“match_parent”
android:text=“购物车”
android:button="@null"
android:id="@+id/r2"
android:gravity=“center”
android:background="@drawable/sel_r"
/ 》
《RadioButton
android:gravity=“center”
android:layout_width=“0dp”
android:layout_weight=“1”
android:layout_height=“match_parent”
android:text=“我的”
android:button="@null"
android:id="@+id/r3"
android:background="@drawable/sel_r"
/》
《/RadioGroup》
《/LinearLayout》
2 BaseActivity
public class mainactivity extends appcompatactivity implements sensoreventlistener {。public class mainactivity extends appcompatactivity。public class tryopencv2activity extends appcompatactivity {。public class secoundactivity extends appcompatactivity {。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(getView());
initView();
initDate();
showView();
}
public abstract int getView();
public abstract void initView();
public abstract void initDate();
public abstract void showView();
}
3MainActivity
public class activitysingletask extends baseactivity {。public class activitysingleinstance extends baseactivity {。
//使用ButterKnife前请观看之前的博客导入相关的依赖
@BindView(R.id.viewpager)
ViewPager viewPager;
@BindView(R.id.group)
RadioGroup radioGroup;
private ArrayList《Fragment》 list;
private One one;
private Two two;
private Three three;
private Unbinder unbinder;
@Override
public int getView() {
return R.layout.activity_main;
}
@Override
public void initView() {
unbinder = ButterKnife.bind(this);
}
@Override
public void initDate() {
list = new ArrayList<>();
//此时请创建3个Fragment
one = new One();
two = new Two();
three = new Three();
list.add(one);
list.add(two);
list.add(three);
}
@Override
public void showView() {
viewPager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {
@Override
public Fragment getItem(int i) {
return list.get(i);
}
@Override
public int getCount() {
return list.size();
}
});
radioGroup.check(radioGroup.getChildAt(0).getId());
但是从“mismatched free() / delete / delete []”知道valgrind实际上是不允许这样操作的,虽然没有内存泄露问题,但是new[]与delete不匹配,这样的编程风格不经意间就容易犯低级错误,所以valgrind报错了,但是我想valgrind内部实现应该不会考虑的这么复杂,它就检查new是否与delete配对,new[]是否与delete[]配对,而不管有时候new[]与delete配对也不会出现问题的。private viewpager.onpagechangelistener getonpagechangelistener(viewpager pager) {。之前做过一个viewpager嵌套页面:可上下滑动的layout中嵌套一个自定义的viewpager,viewpager中嵌套flowlayout。viewpager = (viewpager) findviewbyid(r.id.viewpager)。
@Override
public void onPageScrolled(int i, float v, int i1) {
}
@Override
public void onPageSelected(int i) {
radioGroup.check(radioGroup.getChildAt(i).getId());
}
@Override
public void onPageScrollStateChanged(int i) {
}
});
radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
switch (checkedId){
viewpager = (viewpager) findviewbyid(r.id.pager)。 mviewpager = (viewpager) findviewbyid(r.id.pager_splash_ad)。
case R.id.r2: viewPager.setCurrentItem(1);break;
case R.id.r3: viewPager.setCurrentItem(2);break;
}
}
});
}
@Override
protected void onDestroy() {
super.onDestroy();
unbinder.unbind();
}
}
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-93400-1.html
喜欢您女儿好久了