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