viewpager +Fragment

原创 2016年05月30日 09:59:03
package com.bwei.manhua;

import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;

import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.os.Handler;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.Button;
import android.widget.TextView;

import com.bwei.manhua.fragment.Fragment1;
import com.bwei.manhua.fragment.Fragment2;
import com.bwei.manhua.fragment.Fragment3;
import com.bwei.manhua.fragment.Fragment4;
import com.google.gson.Gson;

public class MyActivity extends FragmentActivity implements OnClickListener {

    protected static final int STCCUE = 0;

    public ViewPager my_ll_vp;

    private TextView my_tv1;
    private TextView my_tv2;
    private TextView my_tv3;
    private TextView my_tv4;
    private ArrayList<Fragment> list;
    private Goods json2;
    private FragmentManager manager;
    

    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // 去除标题头
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_my);
        
        my_tv1 = (TextView) findViewById(R.id.my_tv1);
        my_tv2 = (TextView) findViewById(R.id.my_tv2);
        my_tv3 = (TextView) findViewById(R.id.my_tv3);
        my_tv4 = (TextView) findViewById(R.id.my_tv4);
        my_ll_vp = (ViewPager) findViewById(R.id.my_ll_vp);
        isData();
        my_tv1.setOnClickListener(this);
        my_tv2.setOnClickListener(this);
        my_tv3.setOnClickListener(this);
        my_tv4.setOnClickListener(this);
        my_ll_vp.getParent().requestDisallowInterceptTouchEvent(true);
        my_ll_vp.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {

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

            @Override
            public Fragment getItem(int arg0) {
                // TODO Auto-generated method stub
                return list.get(arg0);
            }
        });
        my_ll_vp.setOnPageChangeListener(new OnPageChangeListener() {

            @Override
            public void onPageSelected(int arg0) {
                switch (arg0) {
                case 0:
                    my_tv1.setBackgroundResource(R.drawable.icon_tab_recom_s);
                    my_tv2.setBackgroundResource(R.drawable.icon_tab_search);
                    my_tv3.setBackgroundResource(R.drawable.icon_tab_favor);
                    my_tv4.setBackgroundResource(R.drawable.icon_tab_more);
                    break;

                case 1:
                    my_tv1.setBackgroundResource(R.drawable.icon_tab_recom);
                    my_tv2.setBackgroundResource(R.drawable.icon_tab_search_s);
                    my_tv3.setBackgroundResource(R.drawable.icon_tab_favor);
                    my_tv4.setBackgroundResource(R.drawable.icon_tab_more);
                    break;
                case 2:
                    my_tv1.setBackgroundResource(R.drawable.icon_tab_recom);
                    my_tv2.setBackgroundResource(R.drawable.icon_tab_search);
                    my_tv3.setBackgroundResource(R.drawable.icon_tab_favor_s);
                    my_tv4.setBackgroundResource(R.drawable.icon_tab_more);
                    break;
                case 3:
                    my_tv1.setBackgroundResource(R.drawable.icon_tab_recom);
                    my_tv2.setBackgroundResource(R.drawable.icon_tab_search);
                    my_tv3.setBackgroundResource(R.drawable.icon_tab_favor);
                    my_tv4.setBackgroundResource(R.drawable.icon_tab_more_s);
                    break;
                
                }

            }

            @Override
            public void onPageScrolled(int arg0, float arg1, int arg2) {
                // TODO Auto-generated method stub

            }

            @Override
            public void onPageScrollStateChanged(int arg0) {
                // TODO Auto-generated method stub

            }
        });
        
    }

    private void isData() {
        list = new ArrayList<Fragment>();
        list.add(new Fragment1());
        list.add(new Fragment2());
        list.add(new Fragment3());
        list.add(new Fragment4());
    }

    @Override
    public void onClick(View v) {
        int id = v.getId();
        switch (id) {
        case R.id.my_tv1:
            my_ll_vp.setCurrentItem(0);
            break;
        case R.id.my_tv2:
            my_ll_vp.setCurrentItem(1);
            break;
        case R.id.my_tv3:
            my_ll_vp.setCurrentItem(2);
            break;
        case R.id.my_tv4:
            my_ll_vp.setCurrentItem(3);
            break;

        default:
            break;
        }

    }

}

相关文章推荐

ViewPager结合Fragment的简单使用

  • 2016年12月06日 10:04
  • 2.31MB
  • 下载

Viewpager+fragment数据更新问题解析

在一个 Android 应用中,我们可以使用 FragmentPageAdapter 来处理多 Fragment 页面的横向滑动。但是当 Fragment 对应的数据集发生改变时,我们都希望能够通过...

viewpager+fragment 的个性化经典用法

  • 2017年06月01日 21:43
  • 28.1MB
  • 下载

ViewPager+Fragment原来这么简单

我们在使用微信或是网易客户端的时候都会看到下面这样的效果,左右滑动切换页面,点击table栏也可以切换界面,以前看着感觉好高大上,今天用ViewPager和Fragment实现了一下,其实还是蛮好实现...

ViewPager页面滑动Fragment销毁问题

1、使用场景 ViewPager+Fragment实现界面切换,界面数量>=3 2、Fragment生命周期以及与Activity生命周期对比                    ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:viewpager +Fragment
举报原因:
原因补充:

(最多只允许输入30个字)