java - 如何在android中的TabView中添加四个选项卡

标签 java android tabview

我尝试在选项卡 View 中使用四个选项卡布局。但不幸的是该应用程序已关闭。我的代码和错误是

list

 <?xml version="1.0" encoding="utf-8"?>
  <manifest xmlns:android="http://schemas.android.com/apk/res/android"
 package="com.example.chukkapalli.myapplication">

 <application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/MyMaterialTheme">
    <activity android:name=".MainActivity"
        android:label="@string/title_activity_scrollable_tabs" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
     </application>

    </manifest>

MainActivity.java

 package com.example.chukkapalli.myapplication;

   import android.os.Bundle;
   import android.support.design.widget.TabLayout;
   import android.support.v4.app.Fragment;
   import android.support.v4.app.FragmentManager;
   import android.support.v4.app.FragmentPagerAdapter;
   import android.support.v4.view.ViewPager;
   import android.support.v7.app.AppCompatActivity;
   import android.support.v7.widget.Toolbar;
   import java.util.ArrayList;
   import java.util.List;


public class MainActivity extends AppCompatActivity {

private Toolbar toolbar;
private TabLayout tabLayout;
private ViewPager viewPager;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    viewPager = (ViewPager) findViewById(R.id.viewpager);
    setupViewPager(viewPager);

    tabLayout = (TabLayout) findViewById(R.id.tabs);
    tabLayout.setupWithViewPager(viewPager);
}

   private void setupViewPager(ViewPager viewPager) {
    ViewPagerAdapter adapter = new      ViewPagerAdapter(getSupportFragmentManager());
    adapter.addFrag(new OneFragment(), "ONE");
    adapter.addFrag(new TwoFragment(), "TWO");
    adapter.addFrag(new ThreeFragment(), "THREE");
    adapter.addFrag(new FourFragment(), "FOUR");
    viewPager.setAdapter(adapter);
   }

   class ViewPagerAdapter extends FragmentPagerAdapter {
    private final List<Fragment> mFragmentList = new ArrayList<>();
    private final List<String> mFragmentTitleList = new ArrayList<>();

    public ViewPagerAdapter(FragmentManager manager) {
        super(manager);
    }

    @Override
    public Fragment getItem(int position) {
        return mFragmentList.get(position);
    }

    @Override
    public int getCount() {
        return mFragmentList.size();
    }

    public void addFrag(Fragment fragment, String title) {
        mFragmentList.add(fragment);
        mFragmentTitleList.add(title);
    }

    @Override
    public CharSequence getPageTitle(int position) {
        return mFragmentTitleList.get(position);
    }
}
}

一个 fragment

 package com.example.chukkapalli.myapplication;

 import android.os.Bundle;
 import android.support.v4.app.Fragment;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;


 public class OneFragment extends Fragment {

public OneFragment() {
    // Required empty public constructor
}

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    return inflater.inflate(R.layout.fragment_one, container, false);
}

}

activity_main.xml

<android.support.design.widget.CoordinatorLayout  xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">

<android.support.design.widget.AppBarLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
    <android.support.design.widget.TabLayout
        android:id="@+id/tabs"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:tabMode="scrollable"/>
</android.support.design.widget.AppBarLayout>

<android.support.v4.view.ViewPager
    android:id="@+id/viewpager"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:layout_behavior="@string/appbar_scrolling_view_behavior" />
</android.support.design.widget.CoordinatorLayout>

fragment_one.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".OneFragment">

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="one"
    android:textSize="40dp"
    android:textStyle="bold"
    android:layout_centerInParent="true"/>

   </RelativeLayout>

错误是

06-05 06:51:00.543 17217-17217/? I/art: Late-enabling -Xcheck:jni
06-05 06:51:00.639 17217-17217/com.example.chukkapalli.myapplication       D/AndroidRuntime: Shutting down VM
06-05 06:51:00.640 17217-17217/com.example.chukkapalli.myapplication     E/AndroidRuntime: FATAL EXCEPTION: main
                                                                                   Process: com.example.chukkapalli.myapplication, PID: 17217
                                                                                   java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v7/internal/widget/TintManager;
                                                                                       at android.support.design.widget.TabLayout$TabView.<init>(TabLayout.java:1145)
                                                                                       at android.support.design.widget.TabLayout.createTabView(TabLayout.java:635)
                                                                                       at android.support.design.widget.TabLayout.addTabView(TabLayout.java:669)
                                                                                       at android.support.design.widget.TabLayout.addTab(TabLayout.java:365)
                                                                                       at android.support.design.widget.TabLayout.addTab(TabLayout.java:340)
                                                                                       at android.support.design.widget.TabLayout.setTabsFromPagerAdapter(TabLayout.java:624)
                                                                                       at android.support.design.widget.TabLayout.setupWithViewPager(TabLayout.java:595)
                                                                                       at com.example.chukkapalli.myapplication.MainActivity.onCreate(MainActivity.java:29)
                                                                                       at android.app.Activity.performCreate(Activity.java:5933)
                                                                                       at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
                                                                                       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251)
                                                                                       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
                                                                                       at android.app.ActivityThread.access$800(ActivityThread.java:144)
                                                                                       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
                                                                                       at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                                       at android.os.Looper.loop(Looper.java:135)
                                                                                       at android.app.ActivityThread.main(ActivityThread.java:5221)
                                                                                       at java.lang.reflect.Method.invoke(Native Method)
                                                                                       at java.lang.reflect.Method.invoke(Method.java:372)
                                                                                       at   com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
                                                                                         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
                                                                                       Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.v7.internal.widget.TintManager" on path: DexPathList[[zip file   "/data/app/com.example.chukkapalli.myapplication-2/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
                                                                                       at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
                                                                                       at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
                                                                                       at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
                                                                                       at android.support.design.widget.TabLayout$TabView.<init>(TabLayout.java:1145) 
                                                                                       at android.support.design.widget.TabLayout.createTabView(TabLayout.java:635) 
                                                                                       at android.support.design.widget.TabLayout.addTabView(TabLayout.java:669) 
                                                                                       at android.support.design.widget.TabLayout.addTab(TabLayout.java:365) 
                                                                                       at android.support.design.widget.TabLayout.addTab(TabLayout.java:340) 
                                                                                       at android.support.design.widget.TabLayout.setTabsFromPagerAdapter(TabLayout.java:624) 
                                                                                       at android.support.design.widget.TabLayout.setupWithViewPager(TabLayout.java:595) 
                                                                                         at   com.example.chukkapalli.myapplication.MainActivity.onCreate(MainActivity.java:29) 
                                                                                       at android.app.Activity.performCreate(Activity.java:5933) 
                                                                                       at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105) 
                                                                                       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251) 
                                                                                       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360) 
                                                                                       at android.app.ActivityThread.access$800(ActivityThread.java:144) 
                                                                                       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278) 
                                                                                       at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                                                       at android.os.Looper.loop(Looper.java:135) 
                                                                                       at android.app.ActivityThread.main(ActivityThread.java:5221) 
                                                                                       at java.lang.reflect.Method.invoke(Native Method) 
                                                                                       at java.lang.reflect.Method.invoke(Method.java:372) 
                                                                                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899) 
                                                                                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) 
                                                                                    Suppressed: java.lang.ClassNotFoundException: android.support.v7.internal.widget.TintManager
                                                                                       at java.lang.Class.classForName(Native Method)
                                                                                       at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
                                                                                       at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
                                                                                          at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
                                                                                            ... 22 more
                                                                                           Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available
06-05 06:56:00.972 17217-17217/com.example.chukkapalli.myapplication I/Process: Sending signal. PID: 17217 SIG: 9

当我运行此代码时,它无法显示任何输出,它可能会在页面浏览时显示错误。 我在代码中错过了什么。 谢谢

最佳答案

确保所有支持库必须是相同版本。尝试将 appcompat-v7support-v4 更改为 23.0.1 或设计为 23.1.1

关于java - 如何在android中的TabView中添加四个选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37641135/

相关文章:

java - MediaPlayer无法使用本地文件

java - 处理传递 String 变量时出现 NullPointerException

java - 如何检查我的动态壁纸是否正在运行

java - 从后台弹出 fragment

ios - 如何在 SwiftUI 的 TabView 中添加底部曲线?

java - android - onactivity结果viewpager

mobile - 选项卡 QML 中的图标

java - Android 中的 SQLITE 获取语句不起作用

java - 转换到按钮控件(Android): what exactly is that?

java - 在 JUnit 中使用 inputStream 时出现 MalformedURLException