0

我正在嘗試使用片段和ViewPager創建介紹滑塊屏幕。我想在onCreateView方法中顯示多個佈局,但不知道如何去做。如何在onCreateView方法中創建顯示多個佈局

請幫忙嗎?

主要業務

public class MainActivity extends AppCompatActivity { 
    public ViewPager pager; 
    public The_fragment_adapter the_fragment_adapter; 


    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     pager = (ViewPager) findViewById(R.id.pager); 
     the_fragment_adapter = new The_fragment_adapter(getSupportFragmentManager()); 
     pager.setAdapter(the_fragment_adapter); 
    } 
} 

片段類

public class The_fragment extends Fragment { 

    public The_fragment(){ 
    } 

    @Nullable 
    @Override 
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { 
     View my_view=inflater.inflate(R.layout.theui,container,false); 
     return my_view; 
    } 
} 

適配器查看

public class The_fragment_adapter extends FragmentStatePagerAdapter { 

    public int[] the_layouts = {R.layout.page1,R.layout.page2}; 

    public The_fragment_adapter(FragmentManager fm) { 
     super(fm); 
    } 

    @Override 
    public Fragment getItem(int position) { 
     return new The_fragment(); 
    } 

    @Override 
    public int getCount() { 
     return the_layouts.length; 
    } 
} 
+1

你是什麼意思的多個佈局? –

+0

現在,在onCreateView方法中,只顯示一個佈局,即theui,但我想顯示2個不同的佈局,並使這兩個佈局的滑塊。 – Junaid

回答

0

ViewPager用於分頁多個片段,而不是佈局。 getItem()方法應該返回你想要的位置片段。

你想要的佈局創建第二個片段:

public Fragment The_second_fragment extends Fragment { 

    @Nullable 
    @Override 
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { 
     View my_view=inflater.inflate(R.layout.page2,container,false); 
     return my_view; 
    } 
} 

然後更改適配器方法:

@Override 
public Fragment getItem(int position) { 
    switch 0: 
     return new The_fragment(); 
    switch 1: 
     return new The_second_fragment(); 
} 

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

看到優秀的tutorial in the Android Developer's Guide。而且,將來如果您按照Java naming conventions的話,您更可能得到更好的答案,因爲其他程序員將更容易理解您的代碼。

+0

非常感謝。現在我已經完成了。現在我只是想在使用它們後殺死這些碎片。我正在嘗試使用finish();方法,但這不起作用。 – Junaid

+0

您不需要手動殺死碎片。當你的活動被破壞時,他們將被殺死。 –

+0

我試圖把另一個活動,並通過第二個片段上的按鈕訪問它。當我在該活動,並按下後退按鈕,它帶我回到片段 – Junaid

相關問題