错误的今日头条

public abstract class BaseActivity extends AppCompatActivity {
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        init();
    }
    /**
     * 初始化
     */
    private void init() {
        setFullScreen();
        setContentView(initLayout());
        findView();
        setOnClickLisener();
        initData();
    }
    /**
     * 设置点击事件
     */
    protected abstract void setOnClickLisener();
    /**
     * 初始化数据
     */
    protected abstract void initData();
    /**
     * 查找控件
     */
    protected abstract void findView();
    /**
     * 设置全屏
     */
    protected abstract void setFullScreen();

    /**
     * 填充布局
     *
     * @return
     */
    protected abstract int initLayout();

    /**
     * 全屏
     */
    protected void fullScreen() {
        // 设置全屏
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
    }
}
public class MainActivity extends BaseActivity implements View.OnClickListener {

    private DrawerLayout draw_layout;
    private ImageView imageViewlogin;
    private RadioGroup radioGroup;


    @Override
    protected void setOnClickLisener() {
        imageViewlogin.setOnClickListener(this);
        draw_layout.addDrawerListener(new DrawerLayout.DrawerListener() {
            @Override
            public void onDrawerSlide(@NonNull View drawerView, float slideOffset) {
                //滑动过程中不断回调 slideOffset:0~1
                View childAt = draw_layout.getChildAt(0);
                float scale = 1 - slideOffset;//1~0
                childAt.setTranslationX(drawerView.getMeasuredWidth() * (1 - scale));//0~width
            }

            @Override
            public void onDrawerOpened(@NonNull View drawerView) {

            }

            @Override
            public void onDrawerClosed(@NonNull View drawerView) {

            }

            @Override
            public void onDrawerStateChanged(int newState) {

            }
        });
        radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {
                switch (checkedId){
                    case R.id.bun1:
                        changePager(new Fragment1());
                        break;
                    case R.id.bun2:
                        changePager(new Fragment2());
                        break;
                    case R.id.bun3:
                        changePager(new Fragment3());
                        break;
                    case R.id.bun4:
                        changePager(new Fragment4());
                        break;
                }
            }
        });

    }
    /**
     * 改变页面
     *
     * @param fragment
     */
    private void changePager(Fragment fragment) {
        getSupportFragmentManager().beginTransaction().replace(R.id.fl_container, fragment).commit();
    }

    @Override
    protected void initData() {
        radioGroup.check(R.id.bun1);

    }

    @Override
    protected void findView() {
        draw_layout = findViewById(R.id.draw_layout);
        imageViewlogin = findViewById(R.id.imageViewlogin);
        radioGroup = findViewById(R.id.radioGroup);

    }

    @Override
    protected void setFullScreen() {


    }

    @Override
    protected int initLayout() {
        return R.layout.activity_main;
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()){
            case R.id.imageViewlogin:
                if (draw_layout.isDrawerOpen(Gravity.START)){
                    draw_layout.closeDrawer(Gravity.START);
                } else {
                    draw_layout.openDrawer(Gravity.START);
                }
                break;
        }
    }
}
class MyAdapter extends PagerAdapter {
    private  Context context;
    private  ArrayList<ImageView> list;

    public MyAdapter(Context context, ArrayList<ImageView> list) {
        this.context = context;
        this.list = list;
    }

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

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

    @NonNull
    @Override
    public Object instantiateItem(@NonNull ViewGroup container, int position) {
        ImageView imageView = list.get(position % list.size());
        imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
        container.addView(imageView);
        return imageView;
    }

    @Override
    public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
        container.removeView((View) object);
    }
}
public class StartActivity extends BaseActivity implements Animation.AnimationListener {

    private AlphaAnimation alphaAnimation;
    private RelativeLayout rlSplash;
//设置点击事件
    protected void setOnClickLisener(){

    }
    //初始化数据
    protected void initData(){
        alphaAnimation = new AlphaAnimation(0, 1);
        alphaAnimation.setDuration(2000);
        alphaAnimation.setAnimationListener(this);

        rlSplash.startAnimation(alphaAnimation);

    }
    //查找控件
    protected void findView(){
        rlSplash = findViewById(R.id.rl_splash);
    }
    //设置全屏
    protected void setFullScreen(){
        fullScreen();
    }
    //填充布局
    protected int initLayout(){

        return R.layout.activity_start;
    }

    @Override
    public void onAnimationStart(Animation animation) {

    }

    @Override
    public void onAnimationEnd(Animation animation) {
toMain();
    }
    private void toMain(){
        startActivity(new Intent(this, MainActivity.class));
        finish();
    }
    @Override
    public void onAnimationRepeat(Animation animation) {

    }

}
class WenAdapter extends BaseAdapter {
    private final Context context;
    private final List<Newss.DataBean> list;

    public WenAdapter(Context context, List<Newss.DataBean> list1) {
        super();
        this.context=context;
        this.list=list1;
    }

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

    @Override
    public Object getItem(int position) {
        return list.get(position);
    }

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

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        HolderView holder=null;
        if (convertView == null){
            holder= new HolderView();
            convertView = View.inflate(context, R.layout.wenadapter, null);
            holder.t_title = (TextView) convertView.findViewById(R.id.t_title);
            holder.i_mage = (ImageView) convertView.findViewById(R.id.i_mage);
            convertView.setTag(holder);
        }else{
            holder = (HolderView) convertView.getTag();
        }
        holder.t_title.setText(list.get(position).getTitle());
        //获取网络图片
     /*   DisplayImageOptions options = new DisplayImageOptions.Builder()
                .displayer(new RoundedBitmapDisplayer(100))
                .build();*/
        ImageLoader.getInstance().displayImage(list.get(position).getImg(),holder.i_mage,LoageImage.getOptions());
        return convertView;
    }
    public class HolderView{
        private TextView t_title;
        private ImageView i_mage;
    }
}
class XlistUtils {
    private static XlistUtils xlistUtils;
    private Xlister xlister;

    public static XlistUtils getlist(){
        if (xlistUtils==null){
            xlistUtils = new XlistUtils();
        }
        return xlistUtils;
    }
    public void getdata(String url){
        MyAsktaxsk data = new MyAsktaxsk();
        data.execute(url);
    }

    private class MyAsktaxsk extends AsyncTask<String,Integer,String> {
        @Override
        protected String doInBackground(String... strings) {
            String path = strings[0];
            try {
                URL url = new URL(path);
                HttpURLConnection Connection = (HttpURLConnection) url.openConnection();
                Connection.setRequestMethod("GET");
                Connection.setReadTimeout(5000);
                Connection.setConnectTimeout(5000);
                if (Connection.getResponseCode() == 200){
                    InputStream inputStream = Connection.getInputStream();
                    ByteArrayOutputStream bos = new ByteArrayOutputStream();
                    byte[] by = new byte[1024];
                    int len = 0;
                    while ((len = inputStream.read(by)) != -1){
                        bos.write(by,0,len);
                    }
                    inputStream.close();
                    bos.close();
                    String json = bos.toString();
                    return json;
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            return null;
        }

        @Override
        protected void onPostExecute(String s) {
            super.onPostExecute(s);
            Log.i("aaa",s);
            xlister.getjson(s);
        }
    }
    public interface Xlister{
        public void getjson(String json);
    }
    public void SetXlistr(Xlister xlister){
        this.xlister = xlister;
    }
}
public class Fragment1 extends Fragment {

    String path = "http://www.yulin520.com/a2a/impressApi/news/mergeList?pageSize=15&page=";
    private ArrayList<ImageView> list;
    private List<com.bwei.dell.myprojecttwo.Newss.DataBean> list1 = new ArrayList<>();
    private int num = 1;
    private View view;
    private XListView x_listview;
    private WenAdapter adapter1;
    private Handler handler = new Handler(){
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            if (msg.what == 0){
                String json = (String) msg.obj;
                Gson gson = new Gson();
                News news = gson.fromJson(json, News.class);
                List<News.BannerBean> banner = news.getBanner();
                for (int i=0;i<banner.size(); i++){
                    String image_url = banner.get(i).getImage_url();
                    ImageView imageView = new ImageView(getActivity());
                    DisplayImageOptions options = LoageImage.getOptions();
                    ImageLoader.getInstance().displayImage(image_url,imageView,options);
                    list.add(imageView);
                }
                MyAdapter adapter = new MyAdapter(getActivity(),list);
                vp.setAdapter(adapter);
            }else if (msg.what == 1){
                int i = vp.getCurrentItem();
                vp.setCurrentItem(++i);
                handler.sendEmptyMessageDelayed(1,1000);
            }
        }
    };
    private ViewPager vp;
    private RadioGroup rg;

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        view = inflater.inflate(R.layout.fragment1,container,false);
        vp = (ViewPager) view.findViewById(R.id.vp);
        rg = (RadioGroup) view.findViewById(R.id.radio_group);

        list = new ArrayList<>();
        getdataimg();
        initfrom();
        getdatafrom();
        vp.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
            @Override
            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

            }

            @Override
            public void onPageSelected(int position) {
                rg.check(rg.getChildAt(position%list.size()).getId());
            }

            @Override
            public void onPageScrollStateChanged(int state) {

            }
        });
        return view;
    }

    private void initfrom() {
        x_listview = (XListView) view.findViewById(R.id.x_listview);
        //可以刷新
        x_listview.setPullRefreshEnable(true);
        //可以加载
        x_listview.setPullLoadEnable(true);
        //设置监听方法
        x_listview.setXListViewListener(new XListView.IXListViewListener() {
            @Override
            public void onRefresh() {//刷新
                num = 1;
                getdatafrom();
            }

            @Override
            public void onLoadMore() {//加载
                num += 1;
                Log.i("sss",num+"");
                getdatafrom();
            }
        });
        adapter1 = new WenAdapter(getActivity(),list1);
        x_listview.setAdapter(adapter1);
    }

    private void getdataimg() {
        new Thread(){
            @Override
            public void run() {
                super.run();
                String path ="http://result.eolinker.com/iYXEPGn4e9c6dafce6e5cdd23287d2bb136ee7e9194d3e9?uri=banner";
                try {
                    URL url = new URL(path);
                    HttpURLConnection connection = (HttpURLConnection) url.openConnection();
                    connection.setConnectTimeout(5000);
                    connection.setReadTimeout(5000);
                    connection.setRequestMethod("GET");
                    if (connection.getResponseCode() == 200){
                        InputStream inputStream = connection.getInputStream();
                        ByteArrayOutputStream bos = new ByteArrayOutputStream();
                        byte[] by = new byte[1024];
                        int len = 0;
                        while ((len = inputStream.read(by)) !=-1){
                            bos.write(by,0,len);
                        }
                        inputStream.close();
                        bos.close();
                        String json = bos.toString();
                        Message message = new Message();
                        message.what = 0;
                        message.obj = json;
                        handler.sendMessage(message);
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }.start();
    }
    @Override
    public void onResume() {
        super.onResume();
        handler.sendEmptyMessageDelayed(1,1000);
    }

    @Override
    public void onPause() {
        super.onPause();
        handler.removeCallbacksAndMessages(null);
    }

    private void getdatafrom() {
        String url = path+num;
        XlistUtils utils = XlistUtils.getlist();
        utils.getdata(url);
        //接口回调
        utils.SetXlistr(new XlistUtils.Xlister() {
            @Override
            public void getjson(String jsonn) {
                //开始
                Gson gsonn = new Gson();
                Newss newss = gsonn.fromJson(jsonn, Newss.class);
                List<Newss.DataBean> data1 = newss.getData();
                if (num == 1){
                    list1.clear();
                }
                //添加
                list1.addAll(data1);
                //刷新适配器
                adapter1.notifyDataSetChanged();
                if (num == 1){
                    x_listview.stopRefresh();
                }else{
                    x_listview.stopLoadMore();
                }
            }
        });
    }
}
<RelativeLayout
    android:layout_weight="3"
    android:layout_width="match_parent"
    android:layout_height="0dp">
    <android.support.v4.view.ViewPager
        android:id="@+id/vp"
        android:layout_width="match_parent"
        android:layout_height="match_parent"></android.support.v4.view.ViewPager>
    <RadioGroup
        android:id="@+id/radio_group"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:orientation="horizontal"
        android:layout_marginTop="220dp"
        android:layout_marginLeft="330dp"
        >
        <RadioButton
            android:id="@+id/onebtn"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            />
        <RadioButton
            android:id="@+id/Twobtn"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            />
        <RadioButton
            android:id="@+id/Threebtn"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            />
        <RadioButton
            android:id="@+id/five"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            />
    </RadioGroup>
</RelativeLayout>
<xlistview.bawei.com.xlistviewlibrary.XListView
    android:id="@+id/x_listview"
    android:layout_weight="7"
    android:layout_width="match_parent"
    android:layout_height="0dp"></xlistview.bawei.com.xlistviewlibrary.XListView>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值