Android layout 试图在扩展FragmentActivity的片段中添加可滚动选项卡,但找不到错误 MyEventsFragment.java 列表项 包com.example.edvenswa.collabevents; 导入android.os.Bundle; 导入android.support.v4.app.Fragment; 导入android.support.v4.app.FragmentActivity; 导入android.support.v4.app.FragmentManager; 导入android.support.v4.app.FragmentPagerAdapter; 导入android.support.v4.app.FragmentStatePagerAdapter; 导入android.support.v4.view.ViewPager; 导入android.util.Log; 导入android.view.LayoutInflater; 导入android.view.view; 导入android.view.ViewGroup; 导入android.widget.TextView; 导入java.util.ArrayList; 导入java.util.List; /** *一个简单的{@link Fragment}子类。 */ 公共类MyEventsFragment扩展了FragmentActivity{ ViewPager ViewPager=null; 我的适配器我的适配器; 公共MyEventsFragment(){ //必需的空公共构造函数 } @凌驾 创建时的公共void(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.fragment\u my\u事件); viewPager=(viewPager)findViewById(R.id.myEventsPager); /*List listFragments=new ArrayList(); 添加(新的MyEventsInsideFragment()); 添加(新的ExpiredEventsFragment()); 添加(新的AttentingEventsFragment()); 添加(新的PassattingEventsFragment())*/ myAdapter=新的myAdapter(getSupportFragmentManager()); viewPager=(viewPager)findViewById(R.id.myEventsPager); viewPager.setAdapter(myAdapter); } /*@覆盖 创建视图上的公共视图(布局、充气机、视图组容器、, Bundle savedInstanceState){ //为该碎片膨胀布局 返回充气器。充气(R.layout.fragment\u my\u事件,容器,false); }*/ } 类MyAdapter扩展了FragmentPagerAdapter{ 公共MyAdapter(FragmentManager fm){ 超级(fm); } @凌驾 公共片段getItem(int i){ Log.d(“计数”、“称为计数的计数”+i); 片段=空; 如果(i==0){ 片段=新的MyEventsInsideFragment(); } 如果(i==1){ fragment=新的ExpiredEventsFragment(); } 如果(i==2){ fragment=新的AttentingEventsFragment(); } 如果(i==3){ fragment=新的PastAttentingEventsFragment(); } 返回片段; } @凌驾 public int getCount(){ Log.d(“计数”、“调用计数”); 返回4; } }
fragment_my_events.xmlAndroid layout 试图在扩展FragmentActivity的片段中添加可滚动选项卡,但找不到错误 MyEventsFragment.java 列表项 包com.example.edvenswa.collabevents; 导入android.os.Bundle; 导入android.support.v4.app.Fragment; 导入android.support.v4.app.FragmentActivity; 导入android.support.v4.app.FragmentManager; 导入android.support.v4.app.FragmentPagerAdapter; 导入android.support.v4.app.FragmentStatePagerAdapter; 导入android.support.v4.view.ViewPager; 导入android.util.Log; 导入android.view.LayoutInflater; 导入android.view.view; 导入android.view.ViewGroup; 导入android.widget.TextView; 导入java.util.ArrayList; 导入java.util.List; /** *一个简单的{@link Fragment}子类。 */ 公共类MyEventsFragment扩展了FragmentActivity{ ViewPager ViewPager=null; 我的适配器我的适配器; 公共MyEventsFragment(){ //必需的空公共构造函数 } @凌驾 创建时的公共void(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.fragment\u my\u事件); viewPager=(viewPager)findViewById(R.id.myEventsPager); /*List listFragments=new ArrayList(); 添加(新的MyEventsInsideFragment()); 添加(新的ExpiredEventsFragment()); 添加(新的AttentingEventsFragment()); 添加(新的PassattingEventsFragment())*/ myAdapter=新的myAdapter(getSupportFragmentManager()); viewPager=(viewPager)findViewById(R.id.myEventsPager); viewPager.setAdapter(myAdapter); } /*@覆盖 创建视图上的公共视图(布局、充气机、视图组容器、, Bundle savedInstanceState){ //为该碎片膨胀布局 返回充气器。充气(R.layout.fragment\u my\u事件,容器,false); }*/ } 类MyAdapter扩展了FragmentPagerAdapter{ 公共MyAdapter(FragmentManager fm){ 超级(fm); } @凌驾 公共片段getItem(int i){ Log.d(“计数”、“称为计数的计数”+i); 片段=空; 如果(i==0){ 片段=新的MyEventsInsideFragment(); } 如果(i==1){ fragment=新的ExpiredEventsFragment(); } 如果(i==2){ fragment=新的AttentingEventsFragment(); } 如果(i==3){ fragment=新的PastAttentingEventsFragment(); } 返回片段; } @凌驾 public int getCount(){ Log.d(“计数”、“调用计数”); 返回4; } },android-layout,Android Layout,fragment_my_events.xml MyEventsFragment.java List item package com.example.edvenswa.collabevents; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentActivity; import android
MyEventsFragment.java
List item
package com.example.edvenswa.collabevents;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.app.FragmentStatePagerAdapter;
import android.support.v4.view.ViewPager;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import java.util.ArrayList;
import java.util.List;
/**
* A simple {@link Fragment} subclass.
*/
public class MyEventsFragment extends FragmentActivity{
ViewPager viewPager = null;
MyAdapter myAdapter;
public MyEventsFragment() {
// Required empty public constructor
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_my_events);
viewPager = (ViewPager) findViewById(R.id.myEventsPager);
/*List<Fragment> listFragments = new ArrayList<Fragment>();
listFragments.add(new MyEventsInsideFragment());
listFragments.add(new ExpiredEventsFragment());
listFragments.add(new AttendingEventsFragment());
listFragments.add(new PastAttendingEventsFragment());*/
myAdapter = new MyAdapter(getSupportFragmentManager());
viewPager = (ViewPager) findViewById(R.id.myEventsPager);
viewPager.setAdapter(myAdapter);
}
/* @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_my_events, container, false);
}*/
}
class MyAdapter extends FragmentPagerAdapter {
public MyAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int i) {
Log.d("count","count called"+i);
Fragment fragment = null;
if (i == 0) {
fragment = new MyEventsInsideFragment();
}
if (i == 1) {
fragment = new ExpiredEventsFragment();
}
if (i == 2) {
fragment = new AttendingEventsFragment();
}
if (i == 3) {
fragment = new PastAttendingEventsFragment();
}
return fragment;
}
@Override
public int getCount() {
Log.d("count", "count called");
return 4;
}
}
这是我的代码。在这里,我可以查看片段中的第一页,但无法滚动,也无法查看其他片段
注意:这个MyEventsFragment.java也是sidedrawer中的一个片段。如果您还没有添加设计支持库,请先添加它
<FrameLayout 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"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context="com.example.edvenswa.collabevents.MyEvents">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimaryDark"
app:popupTheme="@style/AppTheme.PopupOverlay" />
</android.support.design.widget.AppBarLayout>
<android.support.v4.view.ViewPager
android:id="@+id/myEventsPager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="56dp"
android:gravity="center">
</android.support.v4.view.ViewPager>
</FrameLayout>
然后再加上这个
compile 'com.android.support:design:23.0.0'
另外,在FragmentPageAdapter中,必须重写getPageTitle()方法以返回选项卡标题 如果你能帮我摆脱这一切就太好了issue@Vishwanth遵循本教程
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimaryDark"
app:popupTheme="@style/AppTheme.PopupOverlay" />
<android.support.design.widget.TabLayout
android:id="@+id/tablayout"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</android.support.design.widget.AppBarLayout>
TabLayout tabLayout = (TabLayout) findViewById(R.id.tablayout);
tabLayout.setupWithViewPager(viewPager);