0

appcompat v7にツールバーとタブレイアウトを含むアプリケーションがあります。私はView Pagerでタブ間を移動しますが、Expandable List Viewを内部に置いてスクロールしないという問題があります。これは主なアクティビティのJavaコードビューア内で展開可能なリストビューでスクロールする際の問題 - Android

最小のAPIは15です:Android Ice Cream Sandwicth 4.0.4

public class Principal extends AppCompatActivity{ 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    setContentView(R.layout.activity_principal); 
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 

    final TabLayout Tabulacion = (TabLayout) findViewById(R.id.Tabulacion); 
    final ViewPager viewPager = (ViewPager) findViewById(R.id.Pager); 
    final PagerAdapter adapter = new PagerAdapter(getSupportFragmentManager(), Tabulacion.getTabCount()); 

    viewPager.setAdapter(adapter); 
    viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(Tabulacion)); 
    Tabulacion.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() { 
     @Override 
     public void onTabSelected(TabLayout.Tab tab) { 
      viewPager.setCurrentItem(tab.getPosition()); 
     } 

     @Override 
     public void onTabUnselected(TabLayout.Tab tab) { 

     } 

     @Override 
     public void onTabReselected(TabLayout.Tab tab) { 

     } 
    }); 
} 

PagerAdapterからJavaコード

public class PagerAdapter extends FragmentStatePagerAdapter { 
int intNumTabs; 

public PagerAdapter(FragmentManager FM, int NumTabs) { 
    super(FM); 
    this.intNumTabs = NumTabs; 
} 

@Override 
public Fragment getItem(int position) { 

    switch (position) { 
     case 0: 
      TabHome Tab1 = new TabHome(); 
      return Tab1; 
     case 1: 
      TabLectura Tab2 = new TabLectura(); 
      return Tab2; 
     default: 
      return null; 
    } 
} 

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

主要活動からXMLコード

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

<android.support.design.widget.AppBarLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:theme="@style/AppTheme.AppBarOverlay" 
    android:id="@+id/textView"> 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize" 
     android:background="?attr/colorPrimary" 
     app:popupTheme="@style/AppTheme.PopupOverlay" /> 

    <android.support.design.widget.TabLayout 
     android:id="@+id/Tabulacion" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 
     <android.support.design.widget.TabItem 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:text="Inicio"> 
     </android.support.design.widget.TabItem> 
     <android.support.design.widget.TabItem 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:text="Lectura"> 
     </android.support.design.widget.TabItem> 
    </android.support.design.widget.TabLayout> 
    <android.support.v4.view.ViewPager 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/Pager" 
     android:isScrollContainer="true" 
     android:nestedScrollingEnabled="true" 
     android:background="@color/backgroundColor" /> 
</android.support.design.widget.AppBarLayout> 
</android.support.design.widget.CoordinatorLayout> 

タブ2フラグメントからXMLコード:

<ExpandableListView xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:id="@+id/ListView"> 
</ExpandableListView> 

拡張可能なリストビューは動的であるの内容ではなく、リストビューのrecyclerviewを使用

答えて

0

を生成。私はビューページャーでそれを実装し、それは完全に動作します。 Recyclerviewは、実質的にはリストビューが行うことのすべてを行います。

+0

しかし、どのように拡張可能にすることができますか?私はリストビューが拡張可能であることが必要です –

+0

このリンクをチェックしてくださいhttp://stackoverflow.com/a/6211286/5512020 – suku

+0

実際にはここで同じ問題が尋ねられますhttp://stackoverflow.com/questions/22729772/expandable-listview -inside-scrollview – suku

1

私はそれを解決します。私はXMLのアプリケーションコーディネーターレイアウトからビューページャーを抽出し、最終コードがあります

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical" 
tools:context=".Principal"> 
<android.support.design.widget.CoordinatorLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"> 
    <android.support.design.widget.AppBarLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:theme="@style/AppTheme.AppBarOverlay" 
     android:id="@+id/textView"> 

     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      android:background="?attr/colorPrimary" 
      app:popupTheme="@style/AppTheme.PopupOverlay" /> 

     <android.support.design.widget.TabLayout 
      android:id="@+id/Tabulacion" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content"> 
      <android.support.design.widget.TabItem 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:text="Inicio"> 
      </android.support.design.widget.TabItem> 
      <android.support.design.widget.TabItem 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:text="Lectura"> 
      </android.support.design.widget.TabItem> 
     </android.support.design.widget.TabLayout> 
    </android.support.design.widget.AppBarLayout> 
</android.support.design.widget.CoordinatorLayout> 

<android.support.v4.view.ViewPager 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:id="@+id/Pager" 
    android:background="@color/backgroundColor" /> 
</LinearLayout> 
関連する問題