Fragment替换

package com.example.day;

import android.os.Bundle;
import android.support.annotation.IdRes;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;
import android.widget.RadioGroup;

import com.example.day.Frang.frang;
import com.example.day.Frang.frang1;
import com.example.day.Frang.frang2;


public class MainActivity extends AppCompatActivity {
    public String urlString = "http://api.expoon.com/AppNews/getNewsList/type/1/p/1";
    String urlBitmap = "https://img-my.csdn.net/uploads/201407/26/1406383265_8550.jpg";
    private RadioGroup rg;
    private FragmentManager supportFragmentManager;
    private frang f;
    private frang1 f1;
    private frang2 f2;
    private FragmentTransaction fragmentTransaction;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
           
        supportFragmentManager = getSupportFragmentManager();

        fragmentTransaction = supportFragmentManager.beginTransaction();
         //实力化fragment

        f = new frang();
        f1 = new frang1();
        f2 = new frang2();
         //默认第一个页面
        fragmentTransaction.add(R.id.fl,f).commit();
        //获取控件
        rg = (RadioGroup) findViewById(R.id.rg);
         //获取点击事件
        rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup radioGroup, @IdRes int i) {
                  //选择
                switch (i) {
                      //选择哪个ID显示哪个页面
                  case R.id.rb:
                        supportFragmentManager.beginTransaction().replace(R.id.fl, f).commit();
                        break;
                    case R.id.rb1:
                        supportFragmentManager.beginTransaction().replace(R.id.fl, f1).commit();
                        break;
                    case R.id.rb2:
                        supportFragmentManager.beginTransaction().replace(R.id.fl, f2).commit();
                        break;
                }
            }
        });
    }
}
 
第一个页面 从网络获取内容然解析赋值给listview
import com.google.gson.Gson;

import java.net.URL;
import java.util.ArrayList;
import java.util.List;

/**
 * Created by lenovo on 2017/10/31.
 */

public class frang extends Fragment{
    //路径
    public String urlString = "http://api.expoon.com/AppNews/getNewsList/type/1/p/1";
   //集合
List<com.example.day.javabean.bean.DataBean> data;
    
//handler机制

    Handler handler=new Handler(){


        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
//传过来的集合
            data = (ArrayList<bean.DataBean>) msg.obj;
//适配
              lv.setAdapter(new BaseAdapter() {
                  @Override
                  public int getCount() {
                      return data.size();
                  }

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

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

                          @Override
                          public View getView(int i, View view, ViewGroup viewGroup) {
                              if(view==null){
                                  view = View.inflate(getActivity(), R.layout.f4, null);

                              }
                              TextView tv =(TextView) view.findViewById(R.id.tv);

                               tv.setText(data.get(i).getNews_title());


                              return view;
                  }
              });


        }
    };
    private ListView lv;

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View inflate = inflater.inflate(R.layout.f1, container, false);
        lv = (ListView)inflate.findViewById(R.id.lv);
        jiexi();


        return inflate;
    }

  public void jiexi(){

      //必须用线程 不然报错
      new Thread(){



          @Override
          public void run() {
              super.run();
               //写一个类,类里
package com.example.day.iTOOS;
import android.graphics.Bitmap;
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;
import java.net.URLConnection;
/**
 * Created by lenovo on 2017/10/31.
 */
public class itoos {
    public static String ioss(String is) {
        StringBuilder str = new StringBuilder();
        try {
            URL url = new URL(is);
            HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
            urlConnection.setConnectTimeout(8000);
            int responseCode = urlConnection.getResponseCode();
                InputStream inputStream = urlConnection.getInputStream();
                BufferedReader in = new BufferedReader(new InputStreamReader(inputStream));
                String line = "";
                while ((line = in.readLine()) != null) {
                    str.append(line);
                }
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return str.toString();
    }
}
              //实力化itoos 调用方法

              String ioss1 = itoos.ioss(urlString);
              //实例化gson
              Gson g=new Gson();
              
              bean bean = g.fromJson(ioss1, bean.class);
               //这个就是上面的集合data

                data = bean.getData();
         //实例化Message

          Message msg=new Message();
           //发送集合
               msg.obj=data;
           //标识符
              msg.what=1;
          //获得sendMessage
              handler.sendMessage(msg);
          }
      }.start();
  }

}
第2个页面  网络获取图片的代码
package com.example.day.Frang;

import android.graphics.Bitmap;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;

import com.example.day.R;
import com.example.day.iTOOS.itoostwo;

/**
 * Created by lenovo on 2017/10/31.
 */

public class frang1 extends Fragment {
    String urlBitmap = "https://img-my.csdn.net/uploads/201407/26/1406383265_8550.jpg";

    Handler handler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            int what = msg.what;
            switch (what) {
                case 1:
                    Bitmap obj = (Bitmap) msg.obj;
                    img.setImageBitmap(obj);
                    break;
            }
        }
    };
    ImageView img;
    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View inflate = inflater.inflate(R.layout.f2, container, false);
         img = (ImageView) inflate.findViewById(R.id.img);
        img.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                new Thread() {
                    @Override
                    public void run() {
                        super.run();
                       //写一个类【
package com.example.day.iTOOS;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
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;
import java.net.URLConnection;
/**
 * Created by lenovo on 2017/10/31.
 */
public class itoostwo {
    public static Bitmap ioss(String iis) {
        try {
            URL url = new URL(iis);
            HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
            urlConnection.setConnectTimeout(8000);
            InputStream inputStream = urlConnection.getInputStream();
            Bitmap bitmap = BitmapFactory.decodeStream(inputStream);
            return bitmap;
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }
}
                          //实力化itoos 调用方法
Bitmap ioss = itoostwo.ioss(urlBitmap);
                        Message msg = new Message();
                       msg.obj = ioss;
                        msg.what = 1;
                        handler.sendMessage(msg);
                    }
                }.start();
            }
        });
        return inflate;
    }
}

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值