gpt4 book ai didi

android - 查看具有大量 fragment 的寻呼机

转载 作者:行者123 更新时间:2023-11-29 00:15:43 24 4
gpt4 key购买 nike

我必须在滑动时更改 View 。这可以通过查看寻呼机获得。但我有 60 个 View ,创建 60 个不同的 fragment 并不是一个好方法。请有人指导我什么是设计滑动 60 View 的最佳方法。

最佳答案

首先创建一个 fragment ,您可以在其中使用“position”参数膨胀不同的 View ,如下所示。

public class SuperAwesomeCardFragment extends Fragment {

private static final String ARG_POSITION = "position";

private int position;
View mainView;

public static SuperAwesomeCardFragment newInstance(int position) {
SuperAwesomeCardFragment f = new SuperAwesomeCardFragment();
Bundle b = new Bundle();
b.putInt(ARG_POSITION, position);
f.setArguments(b);
return f;
}

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

position = getArguments().getInt(ARG_POSITION);
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

if(position==1){

mainview = inflater.inflate(R.layout.layout1, null);

}else if(position==2){

mainview =inflater.inflate(R.layout.layout2, null);
.
.
.
.
}else if(position==50){

mainview =inflater.inflate(R.layout.layout50, null);
}

return mainView;
}

现在在您的 MainActivity 中创建一个扩展 FragmentPagerAdpater 的适配器,并在 getItem() 方法中创建先前创建的 fragment 的实例,如下所示

public class MyPagerAdapter extends FragmentPagerAdapter {

private final String[] TITLES = { "Title1", "Title2"...., "Title50"};

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

@Override
public CharSequence getPageTitle(int position) {
return TITLES[position];
}

@Override
public int getCount() {
return TITLES.length;
}

@Override
public Fragment getItem(int position) {
return SuperAwesomeCardFragment.newInstance(position);
}

}

然后最后将其添加到 Activity 的 OnCreat() 方法中...

MyPagerAdapter adapter = new MyPagerAdapter(getSupportFragmentManager());
yourViewPager.setAdapter(adapter);

因此您必须创建单个 fragment 并将其用于多个 View 。谢谢。希望对您有所帮助..!!

关于android - 查看具有大量 fragment 的寻呼机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27037801/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com