当前位置: 首页 > 知识库问答 >
问题:

我可以使用视图分页与视图(不与片段)

鲜于玮
2023-03-14

我使用viewpager片段之间切换,但是我可以使用viewpager视图简单XML布局之间切换吗?

这是ViewPager的页面适配器,用于在片段之间滑动:

import java.util.List;

import com.app.name.fragments.TipsFragment;

import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.app.FragmentTransaction;
import android.view.ViewGroup;

public class PageAdapter extends FragmentPagerAdapter {

    /**
     *
     */
    List<Fragment> fragments;
    public PageAdapter(FragmentManager fm,List<Fragment> frags) {
        super(fm);
        fragments = frags;

    }

    @Override
    public Fragment getItem(int arg0) {
        // TODO Auto-generated method stub
        return TipsFragment.newInstance(0, 0);
    }

    @Override
    public int getCount() {
        // TODO Auto-generated method stub
        return 4;
    }

    @Override
    public void destroyItem(ViewGroup container, int position, Object object) {
        FragmentManager manager = ((Fragment) object).getFragmentManager();
        FragmentTransaction trans = manager.beginTransaction();
        trans.remove((Fragment) object);
        trans.commit();

        super.destroyItem(container, position, object);
    }

}

这是我的提示片段:

public class TipsFragment extends Fragment
{
    public static TipsFragment newInstance(int image,int content)
    {
        TipsFragment fragment = new TipsFragment();
        return fragment;
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.tip_layout, null);
        return view;
    }
}

如何修改代码以使用视图而不是片段?

共有1个答案

栾鸣
2023-03-14

您需要重写这两个方法,而不是getitem():

@Override
public Object instantiateItem(ViewGroup collection, int position) {
    View v = layoutInflater.inflate(...);
    ...
    collection.addView(v,0);
    return v;
}

@Override
public void destroyItem(ViewGroup collection, int position, Object view) {
    collection.removeView((View) view);
}
 类似资料:
  • 14.5. 视图与视图解析 所有web应用的MVC框架都有它们处理视图的方式。Spring提供了视图解析器供你在浏览器显示模型数据,而不必被束缚在特定的视图技术上。Spring内置了对JSP,Velocity模版和XSLT视图的支持。 第 15 章 集成视图技术这一章详细说明了Spring如何与不同的视图技术集成。 ViewResolver和View是Spring的视图处理方式中特别重要的两个接口

  • 问题内容: 当我进行切片时,发生了意外的事情,似乎第一个出现在视图中,而第二个是复制。 第一 首先是行的切片,然后是列的切片。看来是一个看法。 第二 但是,如果我先是列的一部分,然后是行的一部分,那似乎是一个副本: 我很困惑,因为这两种方法最终将导致似乎位置发生变化,但是为什么第二种方法实际上并没有改变数字? 问题答案: 重要的是要按行还是按列切片。按行切片可以返回视图,因为它是原始数组的连续段。

  • 图层与视图     如果你曾经在iOS或者Mac OS平台上写过应用程序,你可能会对视图的概念比较熟悉。一个视图就是在屏幕上显示的一个矩形块(比如图片,文字或者视频),它能够拦截类似于鼠标点击或者触摸手势等用户输入。视图在层级关系中可以互相嵌套,一个视图可以管理它的所有子视图的位置。图1.1显示了一种典型的视图层级关系 图1.1 一种典型的iOS屏幕(左边)和形成视图的层级关系(右边)   在iO

  • 我的代码的作用是: 下面是我的代码,用于在xml布局(名为left.xml、right.xml和center.xml)之间切换的viewpager。 我想要它做什么 我想在图像之间滑动(存储在drawable文件夹中)。当我替换R.layout时。带有R.drawable的xml。图片,我的应用程序崩溃了。有人能帮我弄清楚吗? }

  • 问题内容: 我已经在SO文档中编写了一个示例,以统一上述问题的答案,但是由于文档将于2017年8月8日关闭,因此,我将遵循这一广受好评和讨论的元答案的建议,并将我的示例转换为自我回答发布。 当然,我也很高兴看到任何其他方法!! 题: 我想在Django Rest Framework项目上使用非通用视图/视图集(例如:)。 当我阅读分页文档时: 仅在使用通用视图或视图集时才自动执行分页。如果您使用的

  • RequestToViewNameTranslator接口可以在逻辑视图名未被显式提供的情况下,决定一个可用的逻辑视图View名。 DefaultRequestToViewNameTranslator能够将请求URL映射到逻辑视图名上去,如下面代码例子所示: public class RegistrationController implements Controller { publi