2016-04-03 46 views
-2

我是android新手。 我有片段「點擊監聽器」。 這樣的:如何在片段中使用活動旁邊的片段點擊監聽器

package com.raihanbd.easyrambooster; 

import android.support.v4.app.Fragment; 
import android.support.v4.app.FragmentManager; 
import android.support.v4.app.FragmentStatePagerAdapter; 

public class MemoryBoosterAdapter extends FragmentStatePagerAdapter { 

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

    @Override 
    public Fragment getItem(int index) { 
     Fragment frag = null; 
     if (index == 0) { 
      frag = new one(); 
     } 

     if (index == 1) { 
      frag = new two(); 
     } 

     if (index == 2) { 
      frag = new three(); 
     } 

     if (index == 3) { 
      frag = new four(); 
     } 

     if (index == 4) { 
      frag = new five(); 
     } 
     return frag; 
    } 

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

} 

而且我有「活動」,我想將它「記憶碎片」的旁邊。 任何人都可以幫助我如何做到這一點?

對不起,我的英語不好。

+0

你能描述一下嗎?這是一個'FragmentStatePagerAdapter'。我不明白你想要什麼? –

+0

@HoangNguyen謝謝你的回覆,現在我的問題是這樣的,我不能在「frags」中設置「activity」,我只能設置「frags」中的「fragment」 –

+0

'Activity'不能轉換爲'Fragment'。 'Activity'被設計成代表應用程序的一個屏幕,而'Fragments'被設計成可重複使用的UI佈局,其中嵌入了邏輯。如果我沒有弄錯,你想用'activity'創建適配器是否是 –

回答

0

你想使用viewpager嗎?你的代碼只是一個適配器,最好使用一個List。 這裏是我的代碼:

 public class MemoryBoosterAdapter extends FragmentStatePagerAdapter { 

     private List<Fragment> fragList; 

     public MemoryBoosterAdapter(FragmentManager fm,List<Fragment> fragList) { 
      super(fm); 
      this.fragList = fragList; 
     } 

     @Override 
     public Fragment getItem(int index) { 
      return fragList.get(index); 
     } 

     @Override 
     public int getCount() { 
      return fragList.size(); 
     } 
} 
當你在MainActivity使用它

private List<Fragment> fragList = new ArrayList<Fragment>(); 
fragList.add(new One()); //One is your own fragment 
fragList.add(new Two()); 
// .... 

viewpager.setAdapter(new MemoryBoosterAdapter(getSupportFragmentManager(),fragList)); 
+0

謝謝,但我的問題是,我不能在「碎片」中設置「活動」,我只能在「碎片」中設置「碎片」。你可以幫我嗎? –

+0

你可以看到.Fragment是一種輕的Activity,而Fragment是基於Activity的。如果你沒有活動,你也不能創建一個片段。 – Rose