标签: android-pageradapter

实例化PagerAdapter Android

2Hi伙计们我正在尝试使用横向分页器和Android支持包构建应用程序.我已经在另一个项目中编译了这个确切的代码,但第二个代码示例的最后一行不允许我编译.Eclipse说Cannot instantiate the type PagerAdapter

我的进口

import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
Run Code Online (Sandbox Code Playgroud)

我的代码

List<Fragment> fragments = new Vector<Fragment>();
    fragments.add(Fragment.instantiate(this, Tab1.class.getName()));
    fragments.add(Fragment.instantiate(this, Tab2.class.getName()));
    fragments.add(Fragment.instantiate(this, Tab3.class.getName()));
    this.mPagerAdapter  = new PagerAdapter(super.getSupportFragmentManager(), fragments);
Run Code Online (Sandbox Code Playgroud)

您认为我的导入或项目设置有问题 - 如果您需要更多信息,请告诉我.此代码适用于其他项目.

谢谢

android android-viewpager android-pageradapter

5
推荐指数
1
解决办法
8230
查看次数

PageTabStrip类未找到异常

好吧,我决定只使用pagertitlestrip.我假设我使用的支持库不包含pagertabstrip.我不知道如何解决这个问题因为我认为我已经正确更新了所有内容.编辑:这不再存在吗?当我将PagerTabStrip更改为PagerTitleStrip时,一切正常,但我无法与期望的标题进行交互,因为这就是我想使用PagerTabStrip的原因.

我已经回到基础,找到问题的根源.我开始了一个新项目进口ABS.我设置了一个非常简单的pagerAdapter和一个简单的片段.我使用了一本公共书中的例子,但我仍然得到同样的错误.找不到类别例外.找不到PagerTabStrip.Stack posted每次都会出现相同的错误.如果我删除PagerTabStrip然后一切正常.

XML

<android.support.v4.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/pager"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <android.support.v4.view.PagerTabStrip
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="top" />

</android.support.v4.view.ViewPager>
Run Code Online (Sandbox Code Playgroud)

主要活动

package com.example.pagetabswipe;

import android.os.Bundle;
import android.support.v4.view.ViewPager;
import android.view.Menu;

import com.actionbarsherlock.app.SherlockFragmentActivity;

public class MainActivity extends SherlockFragmentActivity {

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

        ViewPager pager = (ViewPager)findViewById(R.id.pager);
        pager.setAdapter(new SampleAdapter(getSupportFragmentManager(), this));
    }
}
Run Code Online (Sandbox Code Playgroud)

适配器

package com.example.pagetabswipe;

import android.content.Context;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;

public class SampleAdapter extends FragmentPagerAdapter {
    Context ctxt=null;
    public SampleAdapter(FragmentManager fm, Context ctxt) {
        super(fm);
        this.ctxt=ctxt;
        // TODO Auto-generated …
Run Code Online (Sandbox Code Playgroud)

android android-fragmentactivity android-pageradapter

5
推荐指数
1
解决办法
2216
查看次数

如何对ViewPager中的所有页面使用单个Fragment?

在我的申请中,我必须在 中显示学生详细信息ViewPager。我使用了一个片段(例如StudentPageFragment),并编写了小部件初始化代码,onCreateView()如下所示:

public static Fragment newInstance(Context context) {
    StudentPageFragment f = new StudentPageFragment();
    return f;
}

public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    ViewGroup root = (ViewGroup) inflater.inflate(R.layout.stud_list_page,
            null);
    // initialize all widgets here
    displayStudentDetails();
    return root;
}

protected void displayStudentDetails() {
    ArrayList<Student>studList = User.getStudentsList();
    if (studList != null) {
        int loc = (pageIndex * 3);
        for (int i = 0; i < 3; i++) {
            if (loc < studList.size()) {
                // …
Run Code Online (Sandbox Code Playgroud)

android android-fragments android-viewpager android-pageradapter

5
推荐指数
1
解决办法
4127
查看次数

如何经常更新ViewPager?

我面临着ViewPagerClass 的麻烦,我有三个页面,每个都有一个scrollView,相对布局和ImageView里面.

我点击ImageView时需要设置彩色背景.我的问题是:当我点击一个ImageView让它背景颜色时,背景颜色出现ImageView在另一个PagerView页面的另一个...

对于实例:我有四个页面,每个页面都加载了一个ImageView,当我点击第一页面中的第一个ImageView时,第二个ViewPager页面中的ImageView 得到了背景颜色.

我需要让我的第一个ImageView(在第一页)进行背景化.

这是代码......这是我的寻呼机适配器类

    public class ViewPagerAdapter extends PagerAdapter {
        private DataSetObserver mObserver;
        ImageView image,image2;
        Activity activity;
        int imageArray[];
        Point p;


        public ViewPagerAdapter(Activity act, int[] imgArra) {
            imageArray = imgArra;
            activity = act;
        }

        @Override
        public int getItemPosition(Object object) {
            // TODO Auto-generated method stub
            return super.getItemPosition(object);
        }

        public int getCount() {
            return imageArray.length;
        }

        public Object instantiateItem(View collection, int position) {
            int …
Run Code Online (Sandbox Code Playgroud)

android viewpagerindicator android-pageradapter

5
推荐指数
1
解决办法
407
查看次数

当返回到已停止的活动时,碎片会因旧数据而膨胀

活动 A 有片段。当它启动对活动 B 的意图时B.finish(),然后当 时,AonCreate()再次执行。

但这一次,即使A.onCreate()有 newPacksPagerAdapter和 new ViewPager,片段也显示为旧数据。

我可以看到它onCreateView()为每个片段执行,但由于static newInstance()没有调用它,它仍然具有旧参数。getItem(position)调用FragmentPagerAdapter 时会创建参数。

这是它的实施方式 -

public class PackActivity extends Activity {
    ...
    PacksPagerAdapter mPacksPagerAdapter;
    ViewPager mViewPager;

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

        mPacksPagerAdapter = new MyPagerAdapter(getFragmentManager());

        // Set up the ViewPager with the sections adapter.
        mViewPager = (ViewPager) findViewById(R.id.pager);
        mViewPager.setAdapter(mPacksPagerAdapter);
        mViewPager.setOffscreenPageLimit(PACK_PAGES - 1);

        mViewPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
                    @Override
                    public void onPageSelected(int position) {
                        actionBar.setTitle(...);
                    } …
Run Code Online (Sandbox Code Playgroud)

android android-fragments android-viewpager android-activity android-pageradapter

5
推荐指数
1
解决办法
2900
查看次数

如何从viewpager和pageradapter中删除项目

我正在使用pageradapter和viewpager来显示imageview数组,textview数组.但是如何在按钮点击时删除寻呼机.下面的代码中的代码,但是我在xml onclick中添加了按钮应该删除页面.

http://www.androidbegin.com/tutorial/android-viewpager-gallery-images-and-texts-tutorial/

 package com.androidbegin.viewpagertutorial;

    import android.content.Context;
    import android.support.v4.view.PagerAdapter;
    import android.support.v4.view.ViewPager;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.view.ViewGroup;
    import android.widget.Button;
    import android.widget.ImageView;
    import android.widget.RelativeLayout;
    import android.widget.TextView;

    public class ViewPagerAdapter extends PagerAdapter {
        // Declare Variables
        Context context;
        String[] rank;
        String[] country;
        String[] population;
        int[] flag;
        LayoutInflater inflater;

        public ViewPagerAdapter(Context context, String[] rank, String[] country,
                String[] population, int[] flag) {
            this.context = context;
            this.rank = rank;
            this.country = country;
            this.population = population;
            this.flag = flag;
        }

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

android android-viewpager android-pageradapter

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

带项目预览的ViewPager

我想ViewPager在一周中的所有日期中显示,并预览当前项目的以下和上一项。我已经尝试了很多来自stackoverflow的解决方案,但是都没有用。我不会在中使用片段,ViewPager所以我使用了PagerAdapter

看到这张图片:

星期几ViewPager

我的出发点是:

  • activity_main.xml

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal"
        android:text="Choose a day of the week:" />
    <android.support.v4.view.ViewPager
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/weekOfTheDayPager"/>
    
    Run Code Online (Sandbox Code Playgroud)

  • MainActivity.java

    public class MainActivity extends AppCompatActivity {
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        setUpAdapter();
    }
    
    private void setUpAdapter() {
        ViewPager _mViewPager = (ViewPager) findViewById(R.id.weekOfTheDayPager);
    
        final String[] daysOfTheWeek = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
        final Context myContext = getBaseContext();
    
        _mViewPager.setAdapter(new PagerAdapter() {
            @Override
            public int getCount() {
                return daysOfTheWeek.length;
            }
    
            @Override
            public …
    Run Code Online (Sandbox Code Playgroud)

android android-viewpager android-pageradapter

5
推荐指数
1
解决办法
1044
查看次数

DialogFragment显示带分页的图标列表

在我的应用中,用户可以向其他用户发送图标/礼物.我想显示一个DialogFragment弹出窗口,其中包括可用图标的分页.

例如,我总共要显示15个图标.我想在每页显示6个图标,这意味着我应该有3个"页面"来水平滑动.

类似的寻呼机

我尝试使用FragmentPagerAdapter和RecyclerView与GridLayout作为图标.但它并没有真正像我想要的那样工作.

如何使用没有任何片段的PagerAdapter实现这一点?

android android-pageradapter

5
推荐指数
1
解决办法
221
查看次数

通过 FragmentPagerAdapter 中 Fragment 的 Retrofit 为多个 tablayout 选项卡获取不同的数据

条件: 我有一个 Activity,并且正在PagerAdapter extends FragmentPagerAdapter使用一个 Fragment 类进行创建。TabLayout 包含 10 个选项卡。我已经TabLayout.addOnTabSelectedListener更新onTabSelected()了应用程序中的一些自定义变量SharedPreferences,这取决于当前选项卡名称和选项卡索引。选项卡的名称不是静态的 - 也有从服务器加载的名称。

我的任务: 有了这个值,我应该retrofit2 Call向我的服务器创建一个值,并使用 recyclerview 为我的Fragment.

我的问题: 我正在为不同的选项卡加载相同的数据,这些选项卡应该包含不同的数据!我知道发生这种情况是因为在所有情况下我都有相同的SharedPreferences变量值,所以我retrofit Call在相同的条件下进行。

setOffscreenPageLimit()无法设置为0 - 根据文档,默认值为 1: https: //developer.android.com/reference/kotlin/androidx/viewpager/widget/ViewPager#setoffscreenpagelimit;

setUserVisibleHint()所以我发现这就像解决我的问题的一些变体,但它不能被覆盖,因为现在已被弃用。

解决方案: 我认为我应该以某种方式保存上一个和下一个选项卡名称,然后我可以Call在不同的条件下进行不同的并行改造。当选择选项卡时,我可以获得当前、上一个和下一个选项卡名称。但是我应该如何、在哪里以及何时再进行两次改造呼叫呢?

UPD 08.02.2022:仍在思考这个问题。

代码:

一些Activity.java

public class SomeActivity extends BaseActivity  {

    private String TAG="SomeActivity";
    private Context context;

    private TabLayout tabs;
    private ViewPager viewpager;
    private ProgressBar PBLoading;
    private PagerAdapter_SomePAdapter adapter; …
Run Code Online (Sandbox Code Playgroud)

java android android-fragments android-viewpager android-pageradapter

5
推荐指数
1
解决办法
326
查看次数

从ViewPager中删除或清除所有碎片

我通过像这样的片段填充视图寻呼机

pagerAdapter = new PagerAdapter(getSupportFragmentManager());
        mViewPager = (ViewPager) findViewById(R.id.container);

        for (int i = 0; i < 10; i++) {
            newfragment fragobj = new newfragment();
            fragobj.setArguments(bundle);
            pagerAdapter.addFragment(fragobj, "Category");
        }

            mViewPager.setAdapter(pagerAdapter);
            mViewPager.setCurrentItem(page);
Run Code Online (Sandbox Code Playgroud)

我希望清除所有碎片并在清除后添加新碎片.如果我现在添加新的片段,它会使用旧片段进行广告.

我尝试了很多堆栈溢出的答案,但没有一个能为我工作.

android android-fragments android-viewpager android-pageradapter

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