相关疑难解决方法(0)

替换ViewPager中的Fragment

我正在尝试使用Fragment ViewPager使用FragmentPagerAdapter.我想要实现的是将位于第一页上的片段替换为另一片段ViewPager.

寻呼机由两页组成.第一个是FirstPagerFragment,第二个是SecondPagerFragment.单击第一页的按钮.我想FirstPagerFragment用NextFragment 替换它.

我的代码如下.

public class FragmentPagerActivity extends FragmentActivity {

    static final int NUM_ITEMS = 2;

    MyAdapter mAdapter;
    ViewPager mPager;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.fragment_pager);

        mAdapter = new MyAdapter(getSupportFragmentManager());

        mPager = (ViewPager) findViewById(R.id.pager);
        mPager.setAdapter(mAdapter);

    }


    /**
     * Pager Adapter
     */
    public static class MyAdapter extends FragmentPagerAdapter {
        public MyAdapter(FragmentManager fm) {
            super(fm);
        }

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

        @Override
        public Fragment getItem(int …
Run Code Online (Sandbox Code Playgroud)

android view pager android-fragments android-viewpager

259
推荐指数
8
解决办法
18万
查看次数

从ViewPager中检索片段

我使用的是ViewPager连同FragmentStatePagerAdapter主办三个不同的片段:

  • [片段1]
  • [Fragment2]
  • [Fragment3]

当我想Fragment1ViewPagerFragmentActivity.

有什么问题,我该如何解决?

android android-fragments android-viewpager

240
推荐指数
8
解决办法
15万
查看次数

获取viewpager中的当前Fragment实例

下面是我的代码,3 Fragment classes每个代码都嵌入了3个选项卡中的每一个ViewPager.我有一个菜单选项.如图所示onOptionsItemSelected(),通过选择一个选项,我需要更新当前可见的片段.要更新,我必须调用片段类中的方法.有人可以建议如何调用该方法吗?

public class MainActivity  extends ActionBarActivity {

     ViewPager ViewPager;
     TabsAdapter TabsAdapter;

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

            ViewPager = new ViewPager(this);
            ViewPager.setId(R.id.pager);
            setContentView(ViewPager);

            final ActionBar bar = getSupportActionBar();

            bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

            //Attaching the Tabs to the fragment classes and setting the tab title.
            TabsAdapter = new TabsAdapter(this, ViewPager);
            TabsAdapter.addTab(bar.newTab().setText("FragmentClass1"),
                    FragmentClass1.class, null);
            TabsAdapter.addTab(bar.newTab().setText("FragmentClass2"),
              FragmentClass2.class, null);
            TabsAdapter.addTab(bar.newTab().setText("FragmentClass3"),
              FragmentClass3.class, null);


            if (savedInstanceState != null) {
                bar.setSelectedNavigationItem(savedInstanceState.getInt("tab", 0));
            }

        }

        @Override
        public boolean onOptionsItemSelected(MenuItem item) {

            switch …
Run Code Online (Sandbox Code Playgroud)

android android-fragments android-viewpager

197
推荐指数
11
解决办法
20万
查看次数

使用FragmentPagerAdapter时如何获取现有片段

我有问题使我的片段通过Activity使用FragmentPagerAdapter,作为帮助类来实现对标签的管理以及连接ViewPager关联的所有细节TabHost.我的实现FragmentPagerAdapter与Android示例项目Support4Demos提供的一样.

主要问题是FragmentManager当我没有Id或Tag时,如何从特定片段中获取特定片段?FragmentPagerAdapter正在创建片段并自动生成Id和标签.

android android-fragments fragmentpageradapter

96
推荐指数
6
解决办法
7万
查看次数

是否可以访问ViewPager正在查看的当前片段?

我有一个带有ViewPager三个和三个Fragment的应用程序.我正在试图弄清楚如何让当前Fragment被观看,以便我可以得到它的论据.

OnPageChangeListener抓住了当前页面索引,但是

ViewPager.getChildAt(int position);
Run Code Online (Sandbox Code Playgroud)

返回一个View.这View和现在的关系是什么Fragment

android android-fragments android-viewpager

69
推荐指数
3
解决办法
7万
查看次数

从ViewPager更新片段

我有Activity一个ViewPager.我还有一个Dialog将检索列表,其中包含用户将选择的一些项目.现在,如何更新Fragment项目应显示的位置作为附加到此片段的新视图?

这是我ViewPager的适配器:

public static class MyAdapter extends FragmentPagerAdapter {
    public MyAdapter(FragmentManager fm) {
        super(fm);
    }

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

    @Override
    public android.support.v4.app.Fragment getItem(int position) {
        switch (position) {
        case 0:
            return new Fragment1();

        default:
            return null;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,这是Fragment:

public class Fragment1 extends Fragment{

@Override
public void onActivityCreated(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onActivityCreated(savedInstanceState);
}

@Override
public void onCreate(Bundle savedInstanceState) { …
Run Code Online (Sandbox Code Playgroud)

android android-fragments android-viewpager

52
推荐指数
5
解决办法
9万
查看次数

getSupportFragmentManager().findFragmentById()返回null

我试图在Android中实现片段通信,如android指南中的那个http://developer.android.com/guide/components/fragments.html#CommunicatingWithActivity

但我的应用程序崩溃,因为getSupportFragmentManager().findFragmentById()返回null.我的实施有什么问题.

代码如下:

该程序只是通过第一个fragmnet上的按钮单击将输入文本从一个片段发送到另一个片段textView区域.我有一个activity_main.xml和两个片段布局(两个单独的xml文件而不是activity_main.xml中的一部分)

Frag1.java

public class Frag1 extends Fragment {
public Frag1(){

}

buttonClickListener buttonListener;

@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
try {
    buttonListener = (buttonClickListener) getActivity();
} catch (ClassCastException e) {
    throw new ClassCastException(activity.toString() + " must implement OnButtonPressListener");
}
}

View myFragmentView;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    myFragmentView = inflater.inflate(R.layout.frag1, container, false);


    //SetValue Button
    Button setValueButton = (Button) myFragmentView.findViewById(R.id.setValueButton);
    setValueButton.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            buttonListener.onButtonPressed("Message received"); …
Run Code Online (Sandbox Code Playgroud)

android android-fragments

26
推荐指数
4
解决办法
5万
查看次数

Android FragmentStatePagerAdapter,如何标记片段以便以后找到它

使用时,FragmentStatePageAdapter我得到这样的片段:

    @Override
    public Fragment getItem(int position) {
        return new SuperCoolFragment();
    }
Run Code Online (Sandbox Code Playgroud)

但是,稍后我的代码我需要找到这个片段来设置属性.在我使用片段的应用程序的其他一些部分,我基本上标记它们并使用它们来查找它们,findFragmentByTag(TAG)但现在我不知道该怎么做.

如何使用FragmentStatePageAdapter?找到碎片?

android android-viewpager

22
推荐指数
4
解决办法
3万
查看次数

如何更新,刷新片段ViewPager的主要活动编程

我正在构建一个使用Fragment的应用程序和一个MainActivity在同一个ViewPager中显示不同片段的应用程序来复制典型MVC应用程序的行为.

问题是,我不知道如何以编程方式更新片段以更新ViewPager新的片段更改

例如,我有这个Fragment显示图表,(在我的意图),当我setFragment(int interval, Point[] snodePoint)从主要调用时,图表应该更新ViewPager

public class LineFragment extends Fragment {
    static int interval;
    static Point snodePoints[];


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        final View v = inflater.inflate(R.layout.fragment_linegraph, container,
                false);
        Bundle bundle = this.getArguments();
        ChartConfig cg = bundle.getParcelable("FragmentData");

        snodePoints = cg.getPoints();
        interval= cg.getInterval();
        Line l = new Line();

        for(int i=0; i<snodePoints.length; i++){
          LinePoint p = new LinePoint();
          Point sp=snodePoints[i];
          p.setX(sp.getX());
          p.setY(sp.getY());
          l.addPoint(p)
        }
        l.setColor(getResources().getColor(R.color.green));

        LineGraph li …
Run Code Online (Sandbox Code Playgroud)

android android-fragments android-fragmentactivity

21
推荐指数
2
解决办法
6万
查看次数

Fragment中的ViewPager + Adapter => laggy swiping

我有ViewPager一些片段.每个片段都有一个ListViewa SlidingDrawer(在滑动前不可见)和一个ArrayAdapter.

适配器已启用onCreateView(),这会减慢滑动速度,因为每次刷卡时都必须加载30个列表项,因为正在创建新的片段.

我的问题是,是否可以在ViewPager闲置时滑动后设置适配器?或者,还有更好的方法?在展开SlidingDrawer时,需要已经加载List.

java android adapter android-fragments android-viewpager

10
推荐指数
2
解决办法
1万
查看次数