【问题标题】:Android : Acess pagerAdapter layout listview with ViewPager and AsyncTaskAndroid:使用 ViewPager 和 AsyncTask 访问 pagerAdapter 布局列表视图
【发布时间】:2015-06-04 07:51:09
【问题描述】:

我有一个这样的 pagerAdapter:

public class AppPagerAdapter extends PagerAdapter {
    Context context;
    public AppPagerAdapter(Context appcon)
    {
        this.context = context;
    }
    @Override
    public int getCount() {
        return 10;
    }
    @Override
    public Object instantiateItem(ViewGroup container, int position) {
        View viewItem = inflater.inflate(R.layout.pager_layout, container, false);
        ListView listView = (ListView) viewItem.findViewById(R.id.list);
    }
}

在我的 XML 中是这样的:“pager_layout.xml”

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
xmlns:wheel="http://schemas.android.com/apk/res-auto"
android:layout_height="match_parent">

 <ListView
     android:layout_width="wrap_content"
     android:id="@+id/list"
     android:divider="@color/activity_background"
     android:layout_height="match_parent">
     </ListView>

而且,我的主要片段页面是这样的:

public class Apps extends Fragment {
    public Apps() {}

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

        mRoot = inflater.inflate(R.layout.app_activity, container, false);
        ViewPager pager = (ViewPager)mRoot.findViewById(R.id.view_pager);
        AppPagerAdapter appadapter = new AppPagerAdapter(getActivity());
        pager.setAdapter(appadapter);
        pager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
            @Override
            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { }

            @Override
            public void onPageSelected(int position) {
                //Access to this position list view for add adapter
                new Loading().execute; //async task to get data and add to list view from this pager
            }

            @Override
            public void onPageScrollStateChanged(int state) {}
        });
    }
}

现在,如何访问屏幕页面上的此视图以向此页面添加数据?
我想将数据添加到所选页面的列表视图中。
请帮帮我。

【问题讨论】:

    标签: java android listview android-asynctask android-viewpager


    【解决方案1】:

    如果您的浏览器有 4 个片段:A、B、C、D。并且你是打开的 Fragment A。然后 Fragment B 和 D 将由 Viewpager 自动创建。

    如果你想向 listView 添加数据。让我们看看这个方法:

    @Override
      public Object instantiateItem(ViewGroup container, int position) {
           View viewItem = inflater.inflate(R.layout.pager_layout, container, false);
           ListView listView = (ListView) viewItem.findViewById(R.id.list);
    
    }
    

    什么是

    int 位置?

    这是您选择的页面 - 正在打开。 您上面的代码将在 ViewPager 中创建 10 个 Page,每个 Page 都有 ListView。如果要给这个添加数据,只需要在方法中多写代码

    instantiateItem()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-16
      • 1970-01-01
      相关资源
      最近更新 更多