java - 二进制 XML 文件行 #7 : Error inflating class android. support.v4.view.ViewPager

标签 java android android-studio android-layout

我试图在应用程序的主要 Activity 中使用 View 分页器,但是当我运行应用程序时,出现以下错误“二进制 XML 文件行 #7:错误膨胀类 android.support.v4.view.ViewPager” .
我已经尝试了堆栈溢出上发布的其他解决方案,但到目前为止没有一个对我有用。

下面是我的 MainActivity.java 代码

package com.smartgreen.firebase;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentStatePagerAdapter;
import androidx.viewpager.widget.ViewPager;

import android.os.Bundle;
import android.os.CountDownTimer;

import com.github.anastr.speedviewlib.SpeedView;
import com.ntt.customgaugeview.library.GaugeView;
import android.graphics.Color;
import android.os.Bundle;

import com.github.mikephil.charting.charts.BarChart;
import com.github.mikephil.charting.data.BarData;
import com.github.mikephil.charting.data.BarDataSet;
import com.github.mikephil.charting.data.BarEntry;
import com.github.mikephil.charting.utils.ColorTemplate;

import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {
private FragmentStatePagerAdapter myStatePagerAdapter;

private GaugeView gv_meter;
private GaugeView gv_meter2;
public static class MyPagerAdapter extends FragmentStatePagerAdapter{
    private static int NUM_ITEMS = 3;

    public MyPagerAdapter(FragmentManager fragmentManager){
        super(fragmentManager);
    }

    @Override
    public int getCount() {
        return NUM_ITEMS;
    }

    @NonNull
    @Override
    public Fragment getItem(int position) {
        switch (position){
            case 0:
                return new HumidityMonitorFragment();
            case 1:
                return new SoilMonitorFragment();
            case 2:
                return new TemperatureMonitorFragment();
                default:
                    return null;
        }
    }

    @Nullable
    @Override
    public CharSequence getPageTitle(int position) {
        switch(position){
            case 0:
                return "Humidity";
            case 1:
                return "SoilMonitor";
            case 2:
                return "Temperature";
                default:
                    return "No Title";
        }
    }
}
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    ViewPager myViewPager = findViewById(R.id.my_view_pager);
    myStatePagerAdapter = new MyPagerAdapter(getSupportFragmentManager());
    myViewPager.setAdapter(myStatePagerAdapter);
    /*BarChart chart = (BarChart) findViewById(R.id.chart);

  //  BarData data = new BarData(getXAxisValues(), getDataSet());
    //chart.setData(data);
    //chart.setDescription("My Chart");
    //chart.animateXY(2000, 2000);
    //chart.invalidate();
    gv_meter =  findViewById(R.id.gv_meter);
    SpeedView mySpeedView = findViewById(R.id.pointerSpeedometer);
    mySpeedView.speedTo(50);
    gv_meter.setShowRangeValues(true);
    gv_meter.setTargetValue(0);

    CountDownTimer timer = new CountDownTimer(10000, 2) {
        @Override
        public void onTick(long millisUntilFinished) {
            gv_meter.setTargetValue(Float.valueOf(90));
        }

        @Override
        public void onFinish() {
            gv_meter.setTargetValue(Float.valueOf(90));
        }
    };
    timer.start();*/
}
}

下面也是我的activitymain.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
xmlns:app="http://schemas.android.com/apk/res-auto">
<android.support.v4.view.ViewPager
    android:id="@+id/my_view_pager"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:layout_behavior="@string/appbar_scrolling_view_behavior" >

    <android.support.design.widget.TabLayout
        android:id="@+id/tabLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
    </android.support.design.widget.TabLayout>
</android.support.v4.view.ViewPager>
</LinearLayout>

最佳答案

我只是通过更新找到了解决方案。

<android.support.v4.view.ViewPager>

<androidx.viewpager.widget.ViewPager>

关于java - 二进制 XML 文件行 #7 : Error inflating class android. support.v4.view.ViewPager,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58186121/

相关文章:

java - 为什么我可以将整数文字分配给短类型变量而不是短类型方法参数?

java - 在 JAVA 中异或两个字符串

android - 使用 Xamarin UiTest 启用/禁用 wifi

Android Studio 显示 Firebase 的空白文档

android - Flutter Blue无法检测到蓝牙打印机(Zebra ez320)

android - 任务 'app:prepareDebugAndroidTestDependencies' 执行失败

java - 将 JQL 转换为 CriteriaBuilder

java - 如何随机显示 fragment ?

android - 如何在google play控制台正确填写权限声明表?

java - 如何根据触摸移动在圆周上保持切线的按钮?