如何从onClick的其他活动中打开特定片段 [英] How to open specific Fragment from other activity onClick

查看:76
本文介绍了如何从onClick的其他活动中打开特定片段的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

viewpager中有4个片段(Easy,Normal,Hard,Advance),我只想在其他活动中的onClick时打开Normal片段.

I have 4 fragment in viewpager (Easy, Normal, Hard, Advance) and I just want to open Normal fragment when onClick from other activity.

public class PagerAdapter extends FragmentPagerAdapter {

private List<Fragment> fragments;
public PagerAdapter(FragmentManager fm, List<Fragment> fragments) {
    super(fm);
    this.fragments = fragments;
}
@Override
public Fragment getItem(int position) {
    return this.fragments.get(position);
}
@Override
public int getCount() {
    return this.fragments.size();
}
}

FragmentActivity:

public class level_selection extends FragmentActivity {

private PagerAdapter mPagerAdapter;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    super.setContentView(R.layout.level_selection);
    //initialsie the pager
    this.initialisePaging();
}

private void initialisePaging() {

    List<Fragment> fragments = new Vector<Fragment>();
    fragments.add(Fragment.instantiate(this, Easy.class.getName()));
    fragments.add(Fragment.instantiate(this, Normal.class.getName()));
    fragments.add(Fragment.instantiate(this, Hard.class.getName()));
    fragments.add(Fragment.instantiate(this, Advance.class.getName()));
    this.mPagerAdapter  = new PagerAdapter(super.getSupportFragmentManager(), fragments);
    //
    ViewPager pager = (ViewPager)super.findViewById(R.id.viewpager);
    pager.setAdapter(this.mPagerAdapter);
}
}

基于上面的代码,任何人都可以指导我如何通过其他活动的onClick修改它以允许打开的片段正常"吗?

Based on code above anybody can guide me on how to modify it to allow open fragment "Normal" by onClick from other Activity?

最好的问候,

推荐答案

pager 设为一个类字段,然后使用 onClick 方法:

make pager a class field and then use from onClick method:

 pager.setCurrentItem(1);

这假设您的正常" Fragment 在您的 List 中始终具有索引1(从您的代码开始,它实际上位于索引1)

This assumes your "normal" Fragment always has the index 1 in your List (from you code, it is actually at index 1)

这篇关于如何从onClick的其他活动中打开特定片段的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆