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; }}
阅读全文
0 0
- Fragment替换
- Fragment替换
- 使用Fragment替换TabHost
- Fragment+ViewPage 替换TabActivity
- 使用fragment替换Tab
- Fragment+ViewPager 替换TabActivity
- Fragment隐藏、显示、替换
- Viewpager+Fragment替换TabHost
- Fragment替换工具类
- RadioGroup+Fragment的替换
- Fragment之间的替换
- 实现Fragment替换,跳转
- Fragment 循环替换利用
- 用一个 Fragment 替换另一个 Fragment
- Android ViewPager + Fragment 替换 TabActivity
- Android TabHost+Fragment替换TabActivity
- Android 使用Fragment 替换 TabActivity
- Android 使用Fragment 替换 TabActivity
- 算法系列15天速成—— 第十三 树操作【下】
- iOS面试题-(三)
- 支付宝扫码支付、APP支付
- 电影:源代码
- 处理 paramiko.SSHClient 的 “Unknown server ” 错误
- Fragment替换
- 欢迎使用CSDN-markdown编辑器
- SourceTree 使用手册(第二篇)
- Volume group "cinder-volumes" not found\n Skipping volume group cinder-volumes
- 第一章 什么是TCP/IP
- 算法系列15天速成——第十四 图【上】
- JavaWeb从入门到放弃(5)-连接上数据库
- 高通官网
- 算法系列15天速成—— 图【下】(大结局)