9

Tôi đang cố gắng tạo một trang trình bày với chế độ xem và các đoạn để tôi có thể tải các bố cục khác nhau trên mỗi đoạn và cung cấp cho mỗi trang chức năng khác nhau.Các vấn đề với FragmentPagerAdapter

Tôi đã theo dõi tutorial để thực hiện việc này.

Các lỗi tôi nhận được khi lơ lửng trên public Fragment getItem(int arg0): Kiểu trả về không tương thích với FragmentPagerAdapter.getItem(int)

và lỗi # 2: Các constructor FragmentPagerAdapter(FragmentManager) là undefined -> nhận được này một khi lơ lửng super(fm);

package com.example.spui; 

import android.os.Bundle; 
import android.app.Fragment; 
import android.app.FragmentManager; 
import android.support.v4.app.FragmentPagerAdapter; 

public class MyFragmentPagerAdapter extends FragmentPagerAdapter{ 

    final int PAGE_COUNT = 5; 

    /** Constructor of the class */ 
    public MyFragmentPagerAdapter(FragmentManager fm) { 
     super(fm); 
    } 

    /** This method will be invoked when a page is requested to create */ 
    @Override 
    public Fragment getItem(int arg0) { 

     MyFragment myFragment = new MyFragment(); 
     Bundle data = new Bundle(); 
     data.putInt("current_page", arg0+1); 
     myFragment.setArguments(data); 
     return myFragment; 
    } 

    /** Returns the number of pages */ 
    @Override 
    public int getCount() { 
     return PAGE_COUNT; 
    } 
} 

Trả lời

30

Bạn đang sử dụng sai nhập FragmentManager. Sử dụng android.support.v4.app.FragmentManager để thay thế.

Cùng một vấn đề với Fragment - sử dụng android.support.v4.app.Fragment

Lưu ý: nếu bạn đang xây dựng một API11 + chỉ ứng dụng và muốn sử dụng các mảnh vỡ có nguồn gốc, sau đó bạn thay vì nên thay đổi khẩu FragmentPagerAdapter của bạn để android.support.v13.app.FragmentPagerAdapter.

+0

Tuyệt vời !! Cảm ơn phản ứng rất nhanh! Điều đó đã sửa lỗi của tôi: D. bạn có thể chỉ cho tôi đúng hướng để sử dụng các bố cục khác nhau cho mỗi trang không? Hoặc tôi nên đưa ra một câu hỏi mới cho điều này, Bởi vì vẫn cố gắng tìm ra câu hỏi đó ra Btw. "Bạn có thể chấp nhận câu trả lời trong 3 phút" – mXX

+0

getItem có thể trả về bất kỳ Phân đoạn nào bạn muốn - nếu bạn muốn chức năng hoàn toàn khác nhau trên mỗi trang, chỉ cần trả về một Phân đoạn khác dựa trên số trang. – ianhanniballake

+0

Tôi có làm điều này trong MyFragment hoặc trong MyFragmentPagerAdapter không? Tôi cập nhật câu hỏi với một lớp học mới để bạn có thể thấy 'MyFragment' Sự khác nhau giữa hỗ trợ v13 và v4 là gì? – mXX