Fragment替换

来源:互联网 发布:怎么创建农村淘宝网店 编辑:程序博客网 时间:2024/06/01 22:23
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 = "http://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 = "http://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;    }}

 
原创粉丝点击