activity班:
public class DynamicActivity extends AppCompatActivity{
private LinearLayout mLinearLayout;
private View mView;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mLinearLayout = new LinearLayout(DynamicActivity.this);
mLinearLayout.setOrientation(LinearLayout.VERTICAL);
mLinearLayout.setLayoutParams(new LinearLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.MATCH_PARENT));
TabLayout tabLayout = new TabLayout(DynamicActivity.this);
tabLayout.setLayoutParams(new ViewGroup.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT));
tabLayout.setTabMode(TabLayout.MODE_SCROLLABLE);
tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);
tabLayout.setBackgroundColor(Color.CYAN);
mLinearLayout.addView(tabLayout);
ViewPager viewPager = new ViewPager(DynamicActivity.this);
viewPager.setLayoutParams(new ViewGroup.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT));
viewPager.setBackgroundColor(Color.BLUE);
mLinearLayout.addView(viewPager);
ViewPagerAdapter viewPagerAdapter = new ViewPagerAdapter(getSupportFragmentManager());
viewPager.setAdapter(viewPagerAdapter);
tabLayout.addTab(tabLayout.newTab());
tabLayout.addTab(tabLayout.newTab());
tabLayout.addTab(tabLayout.newTab());
tabLayout.setupWithViewPager(viewPager);
setContentView(mLinearLayout);
}
}
**Adapter Class :**
public class ViewPagerAdapter extends FragmentStatePagerAdapter{
public ViewPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public CharSequence getPageTitle(int position) {
return "Test";
}
@Override
public Fragment getItem(int position) {
return new TestFagment();
}
@Override
public int getCount() {
return 3;
}
}
例外情况:
致命异常:main
E/AndroidRuntime:致命异常:主进程:com.example.locale.TablayoutDynamicSample.27084 java.lang.IllegalState异常:带有适配器com.example.locale.TablayoutDynamicSample.ViewPagerAdapter@3B0E90D6的ViewPager在Android.support.v4.app.FragmentStatePagerAdapter.StartupDate(FragmentStatePagerAdapter.87)在Android.support.v4.view.ViewPager.Populate(Android.support.v7.widget.contentframelayout.onMeasure(contentframelayout.java:139)在Android.view.view.measure(view.java:18580)在Android.support.v7.widget.actionbaroverlayout.onMeasure(actionbaroverlayout.java:5827)在Android.support.v7.widget.actionbaroverlayout.393)在Android.view.view.view.measure(view.java:5827)在.FrameLayout.onMeasure(FrameLayout.java:430)在com.android.internal.policy.impl.PhoneWindow$decoview.onMeasure(PhoneWindow.java:2897)在android.view.view.measure(view.java:18580)在android.view.view.measure(view.view.rootimpl.performMeasure(view.rootimpl.java:2248)在android.view.view.rootimpl.measurehiarchy(ain(ActivityThread.java:5951)在java.lang.Reflect.Method.Invoke(原生方法)在java.lang.Reflect.Method.Invoke(Method.java:372)在com.android.internal.os.zygoteInit$MethodAndargscaller.run(zygoteInit.java:1388)在com.android.internal.os.zygoteInit.main(zygoteInit.java:1183)
它说“vewpager with Adapter viewpageradapter@3b0e90d6 requires a view id
”所以请尝试以下操作:
viewPager.setId(anyInteger);
本文向大家介绍TabLayout实现ViewPager指示器的方法,包括了TabLayout实现ViewPager指示器的方法的使用技巧和注意事项,需要的朋友参考一下 在TabLayout出现之前,基本都是通过 ViewPager+FragmentPagerAdapter+第三方开源tab指示器(TabPageIndicator)来实现的。现在Android内部提供了现成的TabLayout控件来
仓库中存放开发项目代码、文档等,需要创建一个工程目录。 创建成功!
问题内容: 有没有办法以不可反向工程的格式部署Java程序? 我知道如何将应用程序转换为可执行的JAR文件,但是我想确保代码不会被反向工程,或者至少不会轻易进行反向工程。 对源代码的混淆不算在内……这使理解代码变得更加困难,但并没有将其隐藏。 完成程序后,我仍然可以访问原始源,因此维护应用程序将不是问题。如果应用程序是分布式的,我不希望任何用户都能对其进行反编译。混淆并不能实现这一点,因为用户仍然
本文向大家介绍TabLayout+ViewPager实现切页的示例代码,包括了TabLayout+ViewPager实现切页的示例代码的使用技巧和注意事项,需要的朋友参考一下 安卓使用TabLayout+ViewPager+Fragment 实现页面切换,可实现左右滑动切换视图界面和点击切换 可自定义菜单栏是在顶部还是在底部 一、实现效果: 二、实现过程: 2.1 一些重要的设置 添加必须依赖:
我有个罕见的问题。我有一个动态填充选项卡的活动(多达20个选项卡)。每个片段都有的实现和一个菜单,其中包含一个书签图标,当按下时会改变颜色。有一个类型的类变量,它是在调用fragment的时设置的。这是为了使我能够在之外设置书签菜单项(这也是动态完成的)。 问题:当父活动只有一个选项卡(一个片段实例)时,这个实现工作得很好。但是,使用多个选项卡时,应用程序会出现错误:
我已经运行了,然后 退货 我知道我的当前有问题。下面是从 我真的不知道该怎么设置,因为我目前对终端非常陌生。任何帮助都将不胜感激。非常感谢。