簡體   English   中英

將Activity類更改為Fragment(使用FragmentPagerAdapter)

[英]Changing Activity classes to Fragment (using FragmentPagerAdapter)

我有兩個活動想與FragmentPagerAdapter結合使用。 我遵循了一個教程,所有內容都可以很好地與測試類一起使用。 但是,如上所述,我想在該水平滑塊中使用兩個先前制作的“活動”。

現在看起來像這樣:

public class CheatPagerFragmentActivity extends FragmentActivity {
...
/**
 * Initialise the fragments to be paged
 */
private void initialisePaging() {

    List<Fragment> fragments = new Vector<Fragment>();
    fragments.add(Fragment.instantiate(this, CheatView.class.getName()));
    fragments.add(Fragment.instantiate(this, CheatMetaView.class.getName()));


    this.mPagerAdapter = new MyPagerAdapter(super.getSupportFragmentManager(), fragments);

    ViewPager pager = (ViewPager) super.findViewById(R.id.viewpager);
    pager.setAdapter(this.mPagerAdapter);
}
}

CheatView和CheatMetaView曾經是“活動”,但現在是“片段”(“擴展片段”)。 我不需要知道如何仍可以將信息傳遞給那些(新的)片段,因為我再也無法使用“意圖”了,因此我過去在活動之間傳遞信息的方式也是如此。

現在在這些類的代碼中創建新元素也被標記為錯誤。 像這樣的代碼行:

TableRow trTh = new TableRow(this);

如何將信息傳遞給這些類,以及如何更改代碼以在以前的Activity類的代碼中創建新的TableRow?

謝謝你的幫助。

第一個問題:不要使用Fragment.instantiate,而是為每個片段創建一個newInstance方法,該方法可以將您希望傳遞的信息作為參數。 請參見下面的頁面以獲取示例(搜索newInstance):

http://developer.android.com/reference/android/app/Fragment.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM