2016-07-04 2 views
-2
public class PageFragment extends android.support.v4.app.Fragment{ 
    public static final String ARG_PAGE = "arg_page"; 
    private int mPage;//页码 
    public static PageFragment newInstance(int page) { 
     Bundle args = new Bundle(); 
     args.putInt(ARG_PAGE, page);//向Bundle对象中添加键值对 
     PageFragment fragment = new PageFragment(); 
     fragment.setArguments(args);//碎片中含有存储了键值对的bundle对象,为碎片提供了一个 
     //相当于结构参数,伴随碎片创造和摧毁 
     return fragment; 
    } 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     mPage = getArguments().getInt(ARG_PAGE);//获得结构参数 
    } 

    @Nullable 
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     View view = inflater.inflate(R.layout.fragment_page, container);//布局转换为视图控件 
     TextView textView = (TextView) view;//向下转型 
     textView.setText("Fragment #" + mPage); 
     return view; 
    } 
} 

и это мой mainActivityandroid.support.v4.view.ViewPager не может быть приведен к android.widget.TextView

public class MainActivity extends AppCompatActivity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    //连接页面和碎片页面适配器,使他能展示页面 
    ViewPager viewPager = (ViewPager) findViewById(R.id.viewPager); 


    viewPager.setAdapter(new SampleFragmentPagerAdapter(getSupportFragmentManager(), 
       MainActivity.this)); 
    //将试图页给予标签布局 
    TabLayout tabLayout = (TabLayout) findViewById(R.id.Sliding_tabs); 
    tabLayout.setupWithViewPager(viewPager);//将两者连接起来 

} 

учась http://guides.codepath.com/android/Google-Play-Style-Tabs-using-TabLayout#implement-fragmentpageradapter и я получил ошибку, как мой титул, я проверены много раз и в штрафном konw что случилось моего res/layout/fragment_page.xml

<?xml version="1.0" encoding="utf-8"?> 
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:gravity="center"/> 

ответ

0

Дайте идентификатор вашего TextView

<?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/my_text" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center"/>

И в вашем onCreateView сделать это

View view = inflater.inflate(R.layout.fragment_page, container); 
TextView textView = (TextView) view.findViewById(R.id.my_text); 
textView.setText("Fragment #" + mPage); 
+0

спасибо за вашу помощь, я исправить, но есть и другая подобная ошибка. java.lang.ClassCastException: android.support.design.widget.AppBarLayout не может быть добавлен в android.support.design.widget.TabLayout – waynee

Смежные вопросы