侧滑

<?xml version="1.0" encoding="utf-8"?>

<android.support.v4.widget.DrawerLayout xmlns:android=“http://schemas.android.com/apk/res/android
android:layout_width=“match_parent”
android:layout_height=“match_parent”
android:id="@+id/Drawer_layout">

    <FrameLayout
        android:id="@+id/Framelayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
</RelativeLayout>
<LinearLayout
    android:layout_width="200dp"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:background="@color/colorPrimary"
    android:orientation="vertical">

    <ImageView
        android:layout_width="40dp"
        android:layout_height="40dp"
        android:background="@drawable/aa"
        android:layout_marginTop="30dp"/>
    <TextView
        android:id="@+id/xxListView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="xListView"
        android:layout_marginTop="30dp"
        />

    <TextView
        android:id="@+id/Tab_Layout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="30dp"
        android:text="TabLayout" />
</LinearLayout>

</android.support.v4.widget.DrawerLayout>
Tablayout+viewpager

<?xml version="1.0" encoding="utf-8"?>


<android.support.design.widget.TabLayout
android:id="@+id/BFrag_Tab_viewone"
android:layout_width=“match_parent”
android:layout_height=“wrap_content” />
<android.support.v4.view.ViewPager
android:id="@+id/BFrag_Pager"
android:layout_width=“match_parent”
android:layout_height=“match_parent”
android:layout_below="@+id/BFrag_Tab_viewone"></android.support.v4.view.ViewPager>

主页面
package com.example.week02;

import android.os.Bundle;
import android.support.v4.app.FragmentManager;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.FrameLayout;
import android.widget.TextView;

import fragment.Afragment;
import fragment.Bfragment;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

private FrameLayout Framelayout;
private TextView xxListView;
private TextView Tab_Layout;
private DrawerLayout Drawer_layout;
private Afragment afragment;
private Bfragment bfragment;
private FragmentManager manager;

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

}

private void initData() {
    afragment = new Afragment();
    bfragment = new Bfragment();
}

private void initView() {
    Framelayout = (FrameLayout) findViewById(R.id.Framelayout);
    xxListView = (TextView) findViewById(R.id.xxListView);
    xxListView.setOnClickListener(this);
    Tab_Layout = (TextView) findViewById(R.id.Tab_Layout);
    Tab_Layout.setOnClickListener(this);
    Drawer_layout = (DrawerLayout) findViewById(R.id.Drawer_layout);
    manager = getSupportFragmentManager();

}

@Override
public void onClick(View v) {
  switch (v.getId()){
      case R.id.xxListView:
          manager.beginTransaction().replace(R.id.Framelayout,afragment).commit();
          Drawer_layout.closeDrawers();
          break;
      case R.id.Tab_Layout:
          manager.beginTransaction().replace(R.id.Framelayout,bfragment).commit();
          Drawer_layout.closeDrawers();
          break;
  }
}

}
Afragment
package fragment;

import android.content.Context;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import com.example.library.me.maxwin.view.XListView;
import com.example.week02.R;
import com.google.gson.Gson;

import java.util.ArrayList;

import adapterr.MyAdapter;
import bean.Mydata;
import utils.HttpUtils;

public class Afragment extends Fragment implements XListView.IXListViewListener {
private String mUrl = “http://www.xieast.com/api/news/news.php?page=”;
private ArrayList<Mydata.DataBean> mList = new ArrayList<>();
private Context mContext;
private XListView listView;
private MyAdapter adapter;
private View mview;

@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    mview = inflater.inflate(R.layout.fragment_a, null);
    mContext = getActivity().getApplication();
    initView(mview);
    adapter = new MyAdapter(mContext,mList);
    listView.setAdapter(adapter);
    new Async().execute(mUrl);
    return mview;
}

private void initView(View mview) {
    listView = (XListView) mview.findViewById(R.id.listview);
    listView.setPullLoadEnable(true);
    listView.setXListViewListener(this);
}
@Override

public void onRefresh() {
    mList.clear();
    new Async().execute(mUrl);
    stop();
}

@Override
public void onLoadMore() {
new Async().execute(mUrl);
    stop();
}
public void stop(){
    listView.stopRefresh();
    listView.stopLoadMore();
    listView.setRefreshTime("刚刚");
}
class Async extends AsyncTask<String,Void,ArrayList<Mydata.DataBean>>{

    @Override
    protected ArrayList<Mydata.DataBean> doInBackground(String... strings) {
        try {
            String str = HttpUtils.get(strings[0]);
            Gson g=new Gson();
          Mydata data = g.fromJson(str, Mydata.class);

            return (ArrayList<Mydata.DataBean>) data.getData();
        } catch (Exception e) {
            e.printStackTrace();
        }

        return null;
    }

    @Override
    protected void onPostExecute(ArrayList<Mydata.DataBean> dataBeans) {
        mList.addAll(dataBeans);
        adapter.notifyDataSetChanged();
    }
}

}

Bfragment
package fragment;

import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Toast;

import com.example.week02.R;

import java.util.ArrayList;

import pageadapter.pageAdapter;

public class Bfragment extends Fragment {
private ArrayList mList = new ArrayList<>();
private ArrayList mTitle = new ArrayList<>();
private View mView;
private PagerAdapter adapter;
private TabLayout BFrag_Tab_viewone;
private ViewPager BFrag_Pager;

@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    mView = inflater.inflate(R.layout.fragment_b, null);
    initData();
    initView(mView);
    Toast.makeText(getActivity(), "1111", Toast.LENGTH_SHORT).show();
    return mView;
}


private void initData() {
    mList.add(new Afragment());
    mList.add(new Afragment());
    mTitle.add("新闻");
    mTitle.add("娱乐");
}

private void initView(View mView) {
    BFrag_Tab_viewone = (TabLayout) mView.findViewById(R.id.BFrag_Tab_viewone);
    BFrag_Pager = (ViewPager) mView.findViewById(R.id.BFrag_Pager);

    adapter = new pageAdapter(getChildFragmentManager(), mList, mTitle);
    BFrag_Pager.setAdapter(adapter);
    BFrag_Tab_viewone.setupWithViewPager(BFrag_Pager);
}

}
MyAdapter
package adapterr;

import android.content.Context;
import android.graphics.Bitmap;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

import com.example.week02.R;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.display.CircleBitmapDisplayer;

import java.util.ArrayList;

import bean.Mydata;

public class MyAdapter extends BaseAdapter {
private Context context;
private ArrayList<Mydata.DataBean> mList;
private final int ITEM_ONE = 0;
private final int ITEM_TWO = 1;
private ImageLoader mImageLoader=ImageLoader.getInstance();
private DisplayImageOptions m;
public MyAdapter(Context context, ArrayList<Mydata.DataBean> mList) {
m=new DisplayImageOptions.Builder()
.showStubImage(R.drawable.ic_launcher)
.showImageForEmptyUri(R.mipmap.ic_launcher)
.showImageOnFail(R.drawable.ic_launcher)
.cacheInMemory(true)
.cacheOnDisc(true)
.bitmapConfig(Bitmap.Config.ARGB_8888) //设置图片的解码类型
.displayer(new CircleBitmapDisplayer())//加载圆角图片
.build();
this.context = context;
this.mList = mList;
}

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

@Override
public Object getItem(int position) {
    return null;
}

@Override
public long getItemId(int position) {
    return 0;
}

@Override
public int getItemViewType(int position) {
    if(position%2==0){
        return ITEM_ONE;
    }
    else {
        return ITEM_TWO;
    }
}

@Override
public int getViewTypeCount() {
    return 2;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    Holderone one=null;
    HolderTwo two=null;
    int type = getItemViewType(position);
    Mydata.DataBean dataBean = mList.get(position);
    switch (type){
        case ITEM_ONE:
           if(convertView==null){
               one=new Holderone();
               convertView = View.inflate(context, R.layout.item_one, null);
               one.mNameOne=convertView.findViewById(R.id.onetext);
               one.mImageOne=convertView.findViewById(R.id.imageone);
               convertView.setTag(one);
           }
           else{
               one= (Holderone) convertView.getTag();
           }
           one.mNameOne.setText(dataBean.getTitle()+"");
           mImageLoader.displayImage(dataBean.getThumbnail_pic_s(),one.mImageOne,m);
           break;
        case ITEM_TWO:
            if(convertView==null){
                two=new HolderTwo();
                convertView = View.inflate(context, R.layout.item_two, null);
                two.mNameTwo=convertView.findViewById(R.id.twotext);
                two.mImageTwo=convertView.findViewById(R.id.imagetwo);
                convertView.setTag(two);
            }
            else{
                two= (HolderTwo) convertView.getTag();
            }
            two.mNameTwo.setText(dataBean.getTitle()+"");
            mImageLoader.displayImage(dataBean.getThumbnail_pic_s(),two.mImageTwo,m);
            break;
    }


    return convertView;
}
class  Holderone{
    private TextView mNameOne;
    private ImageView mImageOne;
}
class HolderTwo {
    private TextView mNameTwo;
    private ImageView mImageTwo;
}

}
PageAdapter
package pageadapter;

import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;

import java.util.ArrayList;

public class pageAdapter extends FragmentPagerAdapter{
private ArrayList mList;
private ArrayList mTitle;

public pageAdapter(FragmentManager fm, ArrayList<Fragment> mList, ArrayList<String> mTitle) {
    super(fm);
    this.mList = mList;
    this.mTitle = mTitle;
}

@Override
public Fragment getItem(int i) {
    return mList.get(i);
}

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

@Nullable
@Override
public CharSequence getPageTitle(int position) {
return mTitle.get(position);

}
}
获取数据
package utils;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

public class HttpUtils {

public static String get(String urlStr) throws Exception {
    URL url = new URL(urlStr);
    //由一个有效的网址服务返回这个对象
    HttpURLConnection connection = (HttpURLConnection) url.openConnection();
    //设置请求方式
    connection.setRequestMethod("GET");
    connection.setConnectTimeout(5000);
    InputStream stream = connection.getInputStream();
    String inputStr = getInputStr(stream);
    return inputStr;
}

//把流转成字符串
private static String getInputStr(InputStream stream) throws IOException {
    BufferedReader br = new BufferedReader(new InputStreamReader(stream));
    StringBuffer sb = new StringBuffer();
    String str = null;
    while ((str = br.readLine()) != null) {
        sb.append(str);
    }
    return sb.toString();
}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值