android - 我可以将 View 寻呼机与 View 一起使用(而不是 fragment )

标签 android android-fragments android-viewpager android-view

我正在使用 ViewPagerFragments 之间滑动,但是我可以使用 ViewPagerViews 之间滑动吗? XML 布局?

这是我的页面 Adapter 用于在 Fragments 之间滑动的 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);
    }

}

这是我的提示 fragment :

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

如何修改我的代码以使用 View 而不是 fragment ?

最佳答案

你需要重写这两个方法而不是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);
}

关于android - 我可以将 View 寻呼机与 View 一起使用(而不是 fragment ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18710561/

相关文章:

android - 302 在 Android 中使用 Dropbox 短超链接从 http 重定向到 https

java - android.widget.Button 无法转换为 android.view.View$OnKeyListener

ViewPager 和 FragmentPagerAdapter 中 Fragment 的 Android 生命周期管理

android - popbackstack 后 fragment 不可见

android - ViewPager 内 fragment 的按钮在错误引用时触发 onClickListener

android - 如何根据用户选择在 ViewPager 中设置 CurrentPage 以及我如何知道哪个列表项称为 Activity

android - 在 Eclipse ADT 中找不到 v7 首选项支持库

Android Layout Listview在relativelayout下的高度调整

java - 如何与我的适配器类中的 fragment 进行通信

android - 当我从一个选项卡单击到另一个选项卡时,如何使选项卡在 TabLayout 中不可滚动