二进制XML文件行#12:二进制XML文件行#12:错误膨胀类com.andexert.expandablelayout.library.ExpandableLayout

时间:2018-03-18 16:08:14

标签: java android

我正在尝试在我的界面中获得此效果:https://github.com/traex/ExpandableLayout

1)我在build.gradle中添加了这个库的编译'...'

2)我创建了workout_main.xml文件(我将在下面发布代码)

3)我使用一个扩展基本片段类的片段(由我的活动创建)。我可以在此活动中使用inflate视图查看其他片段,但由于我正在使用的库,这个似乎崩溃了。我不确定那将是罪魁祸首还是我接近事情的方式

顺便说一下,我查看了他们的GitHub打开/关闭问题,此问题的唯一“解决方案”是在android.enableAapt2=false文件中使用gradle.properties。 (哪个不起作用)

WORKOUT_MAIN.XML:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:expandable="http://schemas.android.com/apk/com.andexert.expandablelayout.library"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/workout_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="org.liberty.android.fantastischmemo.ui.AnyMemo">


    <com.andexert.expandablelayout.library.ExpandableLayout
        android:id="@+id/first"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        expandable:el_headerLayout="@layout/view_header"
        expandable:el_contentLayout="@layout/view_content"
        android:background="#e74c3c"/>

    <com.andexert.expandablelayout.library.ExpandableLayoutListView
        android:id="@+id/listview"
        android:layout_below="@+id/first"
        android:layout_width="match_parent"
        android:layout_marginTop="15dp"
        android:layout_height="match_parent"/>
</RelativeLayout>

2)称为

的片段
public class WorkoutTabFragment extends BaseFragment {

    private ExpandableListView expandableListView;
    private final AtomicInteger workoutListVersion = new AtomicInteger(0);
    private final static String TAG = WorkoutTabFragment.class.getSimpleName();

    private WorkoutListAdapter woAdapter;

    @Inject WorkOutListUtil workoutList;

    @Inject DatabaseUtil databaseUtil;

    @Inject RecentListActionModeUtil recentListActionModeUtil;

    @Override
    public void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        fragmentComponents().inject(this);
    }


    @Override
    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater){
        super.onCreateOptionsMenu(menu, inflater);
        inflater.inflate(R.menu.open_screen_menu, menu);

    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        //ERRROR HAPPENS HERE
        View v = inflater.inflate( R.layout.workout_main, container, false);
        expandableListView = (ExpandableListView) v.findViewById(R.id.listview);

        /* pre loading stat */
        woAdapter = new WorkoutListAdapter(getContext(), workoutList, recentListActionModeUtil);
         final String[] array = {"Hello", "World", "Android", "is", "Awesome", "World", "Android", "is", "Awesome", "World", "Android", "is", "Awesome", "World", "Android", "is", "Awesome"};

        final ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(getContext(), R.layout.view_row, R.id.header_text, array);
        expandableListView.setAdapter(arrayAdapter);

        return v;
    }

3)我的LOGCAT

-18 11:43:53.672 5331-5331/org.liberty.android.fantastischmemodev E/AndroidRuntime: FATAL EXCEPTION: main
  Process: org.liberty.android.fantastischmemodev, PID: 5331
  android.view.InflateException: Binary XML file line #12: Binary XML file line #12: Error inflating class com.andexert.expandablelayout.library.ExpandableLayout
  Caused by: android.view.InflateException: Binary XML file line #12: Error inflating class com.andexert.expandablelayout.library.ExpandableLayout
  Caused by: java.lang.reflect.InvocationTargetException
      at java.lang.reflect.Constructor.newInstance0(Native Method)
      at java.lang.reflect.Constructor.newInstance(Constructor.java:430)
      at android.view.LayoutInflater.createView(LayoutInflater.java:645)
      at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:787)
      at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727)
      at android.view.LayoutInflater.rInflate(LayoutInflater.java:858)
      at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
      at android.view.LayoutInflater.inflate(LayoutInflater.java:518)
      at android.view.LayoutInflater.inflate(LayoutInflater.java:426)
      at org.liberty.android.fantastischmemo.ui.WorkoutTabFragment.onCreateView(WorkoutTabFragment.java:126)
      at android.support.v4.app.Fragment.performCreateView(Fragment.java:2248)
      at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1340)
      at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1569)
      at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1636)
      at android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:758)
      at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2415)
      at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2201)
      at android.support.v4.app.FragmentManagerImpl.optimizeAndExecuteOps(FragmentManager.java:2155)
      at android.support.v4.app.FragmentManagerImpl.execSingleAction(FragmentManager.java:2034)
      at android.support.v4.app.BackStackRecord.commitNowAllowingStateLoss(BackStackRecord.java:626)
      at android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:143)
      at android.support.v4.view.ViewPager.populate(ViewPager.java:1268)
      at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:668)
      at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:630)
      at android.support.v4.view.ViewPager.setCurrentItem(ViewPager.java:611)
      at android.support.design.widget.TabLayout$ViewPagerOnTabSelectedListener.onTabSelected(TabLayout.java:2191)
      at android.support.design.widget.TabLayout.dispatchTabSelected(TabLayout.java:1164)
      at android.support.design.widget.TabLayout.selectTab(TabLayout.java:1157)
      at android.support.design.widget.TabLayout.selectTab(TabLayout.java:1127)
      at android.support.design.widget.TabLayout$Tab.select(TabLayout.java:1426)
      at android.support.design.widget.TabLayout$TabView.performClick(TabLayout.java:1536)
      at android.view.View$PerformClick.run(View.java:22429)
      at android.os.Handler.handleCallback(Handler.java:751)
      at android.os.Handler.dispatchMessage(Handler.java:95)
      at android.os.Looper.loop(Looper.java:154)
      at android.app.ActivityThread.main(ActivityThread.java:6119)
      at java.lang.reflect.Method.invoke(Native Method)
      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
   Caused by: java.lang.IllegalArgumentException: HeaderLayout and ContentLayout cannot be null!
      at com.andexert.expandablelayout.library.ExpandableLayout.init(ExpandableLayout.java:71)
      at com.andexert.expandablelayout.library.ExpandableLayout.<init>(ExpandableLayout.java:52)
      at java.lang.reflect.Constructor.newInstance0(Native Method) 
      at java.lang.reflect.Constructor.newInstance(Constructor.java:430) 
      at android.view.LayoutInflater.createView(LayoutInflater.java:645) 
      at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:787) 
      at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727) 
      at android.view.LayoutInflater.rInflate(LayoutInflater.java:858) 
      at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821) 
      at android.view.LayoutInflater.inflate(LayoutInflater.java:518) 
      at android.view.LayoutInflater.inflate(LayoutInflater.java:426) 
      at org.liberty.android.fantastischmemo.ui.WorkoutTabFragment.onCreateView(WorkoutTabFragment.java:126) 
      at android.support.v4.app.Fragment.performCreateView(Fragment.java:2248) 
      at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1340) 
      at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1569) 
      at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1636) 
      at android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:758) 
      at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2415) 
      at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2201) 
      at android.support.v4.app.FragmentManagerImpl.optimizeAndExecuteOps(FragmentManager.java:2155) 
      at android.support.v4.app.FragmentManagerImpl.execSingleAction(FragmentManager.java:2034) 
      at android.support.v4.app.BackStackRecord.commitNowAllowingStateLoss(BackStackRecord.java:626) 
      at android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:143) 
      at android.support.v4.view.ViewPager.populate(ViewPager.java:1268) 
      at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:668) 
      at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:630) 
      at android.support.v4.view.ViewPager.setCurrentItem(ViewPager.java:611) 
      at android.support.design.widget.TabLayout$ViewPagerOnTabSelectedListener.onTabSelected(TabLayout.java:2191) 
      at android.support.design.widget.TabLayout.dispatchTabSelected(TabLayout.java:1164) 
      at android.support.design.widget.TabLayout.selectTab(TabLayout.java:1157) 
      at android.support.design.widget.TabLayout.selectTab(TabLayout.java:1127) 
      at android.support.design.widget.TabLayout$Tab.select(TabLayout.java:1426) 
      at android.support.design.widget.TabLayout$TabView.performClick(TabLayout.java:1536) 
      at android.view.View$PerformClick.run(View.java:22429) 
      at android.os.Handler.handleCallback(Handler.java:751) 
      at android.os.Handler.dispatchMessage(Handler.java:95) 
      at android.os.Looper.loop(Looper.java:154) 
      at android.app.ActivityThread.main(ActivityThread.java:6119) 
      at java.lang.reflect.Method.invoke(Native Method) 
      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886) 
      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776) 

0 个答案:

没有答案