drawerlayout+tablayout

主页面布局

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


<q.rorbin.verticaltablayout.VerticalTabLayout
android:layout_width=“70dp”
android:layout_height=“match_parent”
android:id="@+id/tab"

    ></q.rorbin.verticaltablayout.VerticalTabLayout>

<android.support.v4.view.ViewPager
    android:layout_width="wrap_content"
    android:layout_height="match_parent"

    android:layout_alignRight="@+id/tab"
    android:id="@+id/viewpager"

  ></android.support.v4.view.ViewPager>
tab+viewpager <?xml version="1.0" encoding="utf-8"?>

import android.content.Context;
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.app.JobIntentService;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import com.example.lianxi1.R;
import com.example.library.me.maxwin.view.XListView;

import java.util.ArrayList;
import java.util.List;

import ad.MyAdapter;
import bean.MyData;
import page.Pageadapter;

public class Afragment extends Fragment {
private List jtittle=new ArrayList<>();
private List jlist=new ArrayList<>();

private List<MyData.DataBean> mlist=new ArrayList<>();
private XListView xxListView;
private ViewPager vpjiazai;
private TabLayout tabjiazai;
private Pageadapter pageadapter;


@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
     View mview=inflater.inflate(R.layout.afragmnet,null);

     initData();
     initview(mview);


     return mview;
}

private void initData() {
    jtittle.add("Xlistview");
    jtittle.add("pull");
    jlist.add(new XlistFragment());
    jlist.add(new Pullfragment());



}

private void initview(View mview) {
    tabjiazai = (TabLayout) mview.findViewById(R.id.tab_jiazai);
    vpjiazai = (ViewPager) mview.findViewById(R.id.vp_jiazai);
    pageadapter = new Pageadapter(getChildFragmentManager(),jtittle,jlist);
    vpjiazai.setAdapter(pageadapter);
    tabjiazai.setupWithViewPager(vpjiazai);


}

}
轮播
package fragment;

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

import com.example.lianxi1.R;

import page.MyPageadaapter;

public class Luobofragment extends Fragment {
private int index=0;
private Handler handler=new Handler(){
@Override
public void handleMessage(Message msg) {
vp_image.setCurrentItem(index);
index++;
handler.sendEmptyMessageDelayed(0,1000);
}
};
private int[] image=new int[]{R.drawable.psb,R.drawable.aa};
private MyPageadaapter myPageadaapter;
private ViewPager vp_image;

@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    View view=inflater.inflate(R.layout.lb_item,null);
    initView(view);
    return view;
}

private void initView(View view) {
    vp_image = view.findViewById(R.id.vp_image);
    myPageadaapter = new MyPageadaapter(getActivity(),image);
    vp_image.setAdapter(myPageadaapter);
    handler.sendEmptyMessage(0);


}

}
网络请求
package http;

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

public class HttpUrls {
public static String get(String urlstr) throws Exception {
URL url=new URL(urlstr);
HttpURLConnection connection=(HttpURLConnection) url.openConnection();
connection.setConnectTimeout(5000);
connection.setRequestMethod(“GET”);
InputStream stream = connection.getInputStream();
String s=getinputstr(stream);

    return s;
}

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();
}

}
pageadapter
package page;

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.List;

public class Pageadapter extends FragmentPagerAdapter {
private List mtittle;
private List mlist;

public Pageadapter(FragmentManager fm,List<String> mtittle, List<Fragment> mlist) {
    super(fm);
    this.mtittle = mtittle;
    this.mlist = mlist;
}

@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 mtittle.get(position);
}

}
轮播 page
package page;

import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v4.view.PagerAdapter;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;

public class MyPageadaapter extends PagerAdapter {

private Context context;
private int[] image;

public MyPageadaapter(Context context, int[] image) {
    this.context = context;
    this.image = image;
}

@Override
public int getCount() {
    return Integer.MAX_VALUE;
}

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

@NonNull
@Override
public Object instantiateItem(@NonNull ViewGroup container, int position) {
    ImageView img=new ImageView(context);
    img.setImageResource(image[position%image.length]);

    container.addView(img);
    return img;
}

@Override
public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
    container.removeView((View) object);

}

}
myadapter

package ad;

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

import com.example.lianxi1.R;

import java.util.ArrayList;
import java.util.List;

import bean.MyData;

public class MyAdapter extends BaseAdapter {
private final int ITEM_ONE = 0;
private final int ITEM_TWO = 1;
private List<MyData.DataBean> mlist;
private Context context;

public MyAdapter(List<MyData.DataBean> mList, Context context) {
    this.mlist = mList;
    this.context = context;
}

@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 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.textone=convertView.findViewById(R.id.textone);
                convertView.setTag(one);
            }
            else {
                one= (HolderOne) convertView.getTag();
            }
            one.textone.setText(databean.getNews_title()+"");
            break;
        case ITEM_TWO:
            if(convertView==null){
                two=new HolderTwo();
                convertView= View.inflate(context,R.layout.item_two,null);
                two.texttwo=convertView.findViewById(R.id.texttwo);
                convertView.setTag(two);
            }
            else {
                two= (HolderTwo) convertView.getTag();
            }
            two.texttwo.setText(databean.getNews_title()+"");
            break;

    }

    return convertView;

}

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

@Override
public int getItemViewType(int position) {
    if(position%2==0){
        return ITEM_ONE;
    }
    else {
        return ITEM_TWO;
    }
}
class HolderOne {
    private TextView textone;
    private ImageView imageone;
}

class HolderTwo {
    private TextView texttwo;
    private ImageView imagetwo;
}

}

Xlistview
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.lianxi1.R;
import com.example.library.me.maxwin.view.XListView;
import com.google.gson.Gson;

import java.util.ArrayList;
import java.util.List;

import ad.MyAdapter;
import bean.MyData;
import http.HttpUrls;

public class XlistFragment extends Fragment implements XListView.IXListViewListener {
private List<MyData.DataBean> mlist=new ArrayList<>();
private String murl=“http://api.expoon.com/AppNews/getNewsList/type/1/p/1”;
private XListView xxlistview;
private Context context;
private MyAdapter adapter;

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

    View mview = inflater.inflate(R.layout.xlist_item,container,false);
    initView(mview);
    context=getActivity().getApplication();

    adapter = new MyAdapter(mlist,context);
    xxlistview.setAdapter(adapter);
    new Async().execute(murl);
    return mview;
}

private void initView(View mview) {


    xxlistview = (XListView)mview.findViewById(R.id.xxlistview);
    xxlistview.setPullLoadEnable(true);
    xxlistview.setXListViewListener(this);
}

@Override
public void onRefresh() {
mlist.clear();
new Async().execute(murl);
stop();

}

@Override
public void onLoadMore() {
    new Async().execute(murl);
    stop();

}

private void stop() {
     xxlistview.stopLoadMore();
     xxlistview.stopRefresh();
     xxlistview.setRefreshTime("刚刚");
}

class Async extends AsyncTask<String,Void,List<MyData.DataBean>> {

    @Override
    protected List<MyData.DataBean> doInBackground(String... strings) {
        try {
            String str = HttpUrls.get(strings[0]);
            Gson g = new Gson();
            MyData mydata = g.fromJson(str, MyData.class);

            return mydata.getData();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;

    }

    @Override
    protected void onPostExecute(List<MyData.DataBean> dataBeans) {

        mlist.addAll(dataBeans);
        adapter.notifyDataSetChanged();
    }
}

}

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值