2016-04-03 48 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