【问题标题】:how to use activity beside fragment in fragments click listener如何在片段单击侦听器中使用片段旁边的活动
【发布时间】:2016-04-03 14:21:03
【问题描述】:

我是安卓新手。 我有片段“点击监听器”。 这个:

  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;
    }

}

而且我还有“活动”,我想将它设置在“片段”旁边。 谁能帮我怎么做?

抱歉我的英语不好。

【问题讨论】:

  • 你能描述更多吗?那是一个`FragmentStatePagerAdapter`。我不明白你到底想要什么?
  • @HoangNguyen 感谢您的回复,现在我的问题是我无法在“frags”中设置“activity”,我只能在“frags”中设置“fragments”。
  • Activity 无法转换为 FragmentActivity 旨在表示应用程序的单个屏幕,而 Fragments 旨在成为可重用的 UI 布局,其中嵌入了逻辑。如果我没记错的话,你想创建带有activity 的适配器是项目吗?

标签: android android-activity fragment


【解决方案1】:

你想使用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) );

【讨论】:

  • 谢谢,但我的问题是我不能在“frags”中设置“activity”,我只能在“frags”中设置“fragments”。你能帮帮我吗?
  • 可以看到。Fragment是一种轻量级的Activity,而Fragment是基于Activity的。如果没有Activity,也不能创建Fragment。
猜你喜欢
  • 2017-11-09
  • 1970-01-01
  • 2017-07-25
  • 2018-08-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-15
  • 1970-01-01
相关资源
最近更新 更多