Fragment 之 PagerAdapter

package com.edaixi.main.adapter;

import android.content.Context;
import android.support.v4.view.PagerAdapter;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import java.util.List;

/**
 * Provide views to RecyclerView with data from mDataSet.
 */
public class CommentAdapter extends PagerAdapter {

    private List<AppraiseBean> appraiseBeans;
    private Context context;

    public CommentAdapter(Context context, List<AppraiseBean> appraiseBeans) {
        LogUtil.e("come in staruct");
        this.appraiseBeans = appraiseBeans;
        this.context = context;
    }

    @Override
    public int getCount() {
        return appraiseBeans.size();
    }

    @Override
    public boolean isViewFromObject(View view, Object object) {
        return view == object;
    }

    @Override
    public Object instantiateItem(ViewGroup container, int position) {

        LayoutInflater inflater = LayoutInflater.from(context);
        View view = inflater.inflate(R.layout.item_appraise_list, container, false);

        LogUtil.e("come in adapter");
        AppraiseBean appraiseOption = null;
        if (appraiseBeans.size() > 0)
            appraiseOption = appraiseBeans.get(position);

        TextView tv_appraise_content = (TextView) view.findViewById(R.id.tv_appraise_content);
        TextView tv_appraise_user = (TextView) view.findViewById(R.id.tv_appraise_user);
        TextView tv_appraise_time = (TextView) view.findViewById(R.id.tv_appraise_time);

        if (appraiseBeans != null && appraiseBeans.size() == 3) {
            tv_appraise_content.setLines(2);
            tv_appraise_content.setEllipsize(TextUtils.TruncateAt.valueOf("END"));
        }

        tv_appraise_user.setText(appraiseOption.getUser() + "  " + appraiseOption.getTel());
        tv_appraise_content.setText(appraiseOption.getComment());
        tv_appraise_time.setText(appraiseOption.getCategory() + "  " + appraiseOption.getDate());

        container.addView(view);
        return view;
    }

    @Override
    public void destroyItem(ViewGroup container, int position, Object object) {
        container.removeView((View) object);
    }
}
时间: 2024-12-17 23:28:39

Fragment 之 PagerAdapter的相关文章

Android tab导航的几种方法:ActionBar tab +fragment,Viewpager+pagerTitleStrip,开源框架ViewPageIndicator 和 ViewPager

action来实现tab标签 并跟fragment结合 因为要写新闻客户端这个tab导航是必须的 这里我写几个小练习,希望大家融会贯通. 1actionbar设置tab +fragment 布局是个layout 什么layout都可以 加个Id 叫container package com.example.demoforactionbar; import android.app.ActionBar; import android.app.Activity; import android.app.

Android 原生 Android ActionBar Tab (滑动)导航

本文内容 环境 项目结构 演示一:ActionBar Tab 导航 演示二:ActionBar Tab 带滑动导航 本文演示 Tab 导航.第一个演示,是基本的 Tab 导航,第二个是带滑动的 Tab 导航. 另外,个人觉得,通过本例能够知道,如何创建初始化 Fragment,并把 Fragment 放入"容器"中.容器既可以是 LinearLayout.RelativeLayout,也可以是 ViewGroup.这类似初始化 Web 应用程序页面的实现,困扰了我很久,不解决这个问题,

android 安装后首次启动的欢迎页面的总结和demo

本例子一种介绍了四种启动方式来 1老赶集网的启动, 效果图 :  实现原理 :通过handler延时一段时间 向主线程发送一条跳转界面的消息(这也是大部分启动页所用到的) 代码示例: public class SplashActivity extends Activity { private static final long DELAY_TIME = 2000L; @Override protected void onCreate(Bundle savedInstanceState) { su

Android中活动条ActionBar的详细使用

图一 图二 图三 图四 图五 ActionBar其提供的功能总结 图一使用ActionBar显示选项菜单项 menu_mainxml代码 启用程序图标导航 如何添加Action View 图二Activity代码区 menu_mainxml代码 clockxml 图三使用ActionBar实现Tab导航 创建ActionBar实现Tab导航步骤 MainActivity代码 DummyFragmentjava代码 图四Android 30之前的Fragment支持 Mainxml代码 MainA

Tab系列 02 PagerAdapter+Fragment

主要利用了Fragment在主内容界面 对Fragment的add,hide等事务操作.(FragmentTraction  ) 注意:不要使用一个全局事务: FragmentTrasction 提交. package com.example.tabdemo01; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentActivity; imp

Android Fragment 真正的完全解析

出处: 自从Fragment出现,曾经有段时间,感觉大家谈什么都能跟Fragment谈上关系,做什么都要问下Fragment能实现不~~~哈哈,是不是有点过~~~ 本篇博客力求为大家说明Fragment如何产生,什么是Fragment,Fragment生命周期,如何静态和动态的使用Fragment,Fragment回退栈,Fragment事务:以及Fragment的一些特殊用途,例如:没有布局的Fragment有何用处?Fragment如何与Activity交互?Fragment如何创建对话框?

android开发之viewpager and Fragment

Android ViewPager和Fragment实现顶部导航界面滑动效果 Layout 管理器允许用户可以在页面上,左右滑动来翻动页面.你可以考虑实现PagerAdapter接口来显示 该效果.ViewPager很多时候会结合Fragment一块使用,这种方法使得管理每个页面的生命周期变得很方便. 些adapter的具体实现,可以适合于这种ViewPager结合Fragment使用的情况.这些adapter包括: 其中,有一FragmentPagerAdapter,和 FragmentSta

Android ViewPager和Fragment实现顶部导航界面滑动效果

在项目中,我们常常需要实现界面滑动切换的效果.例如,微信界面的左右滑动切换效果.那这种效果是怎么实现的?今天我就带大家简单了解ViewPager,并通过实例来实现该效果. 一. ViewPager 官方API 首先我们来看一下ViewPager官方给出的解释,如图: 具体意思如下: Layout 管理器允许用户可以在页面上,左右滑动来翻动页面.你可以考虑实现PagerAdapter接口来显示该效果. ViewPager很多时候会结合Fragment一块使用,这种方法使得管理每个页面的生命周期变得

Android仿小米商城底部导航栏之二(BottomNavigationBar、ViewPager和Fragment的联动使用)

简介 在前文<Android仿小米商城底部导航栏(基于BottomNavigationBar)>我们使用BottomNavigationBar控件模仿实现了小米商城底部导航栏效果.接下来更进一步的,我们将通过BottomNavigationBar控件和ViewPager空间的联动使用来实现主界面的滑动导航. 导航是移动应用最重要的方面之一,对用户体验是良好还是糟糕起着至关重要的作用.好的导航可以让一款应用更加易用并且让用户快速上手.相反,糟糕的应用导航很容易让人讨厌,并遭到用户的抛弃.为了打造