android_判断网络/添加Fragment显示listview
来源:互联网 发布:最优化计算方法 pdf 编辑:程序博客网 时间:2024/05/22 03:20
权限:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission> <uses-permission android:name="android.permission.INTERNET"></uses-permission>
布局控件:
activity_main: 写fragment时 除了要写name外 还要写id 不然会报错因为id是fragment唯一标识
<?xml version="1.0" encoding="utf-8"?><android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.bwei.day_14rikao.MainActivity"> <fragment android:id="@+id/ff" android:name="com.bwei.day_14rikao.BeaseFragmrnt" android:layout_width="match_parent" android:layout_height="match_parent"></fragment></android.support.constraint.ConstraintLayout>fragment:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <ListView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/lv"/></LinearLayout>MainActivity:Fragment:package com.bwei.day_14rikao;import android.app.Activity;import android.app.AlertDialog;import android.content.Context;import android.content.DialogInterface;import android.content.Intent;import android.net.ConnectivityManager;import android.net.NetworkInfo;import android.os.AsyncTask;import android.os.Bundle;import android.provider.Settings;import android.support.annotation.Nullable;import android.support.v4.app.Fragment;import android.util.Log;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ListView;import android.widget.TextView;import com.google.gson.Gson;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.util.ArrayList;import java.util.List;/** * author:Created by WangZhiQiang on 2017/9/14. */public class BeaseFragmrnt extends Fragment { private List<String> lists; private View view; private ListView lv; private StringBuilder builder; private List<List<String>> result; ArrayList<String> list = new ArrayList<>(); @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { view = inflater.inflate(R.layout.fragment, container, false); return view; } @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); //初始化控件 lv = (ListView) view.findViewById(R.id.lv); //获取判断网络返回值 boolean b = isNetworkConnected(getActivity()); Log.e("gsyfdgvsydhfbsjh", b + ""); //判断是否连接网络 if (b) { //如果返回true则加载数据 new MAsticy().execute("https://suggest.taobao.com/sug?code=utf-8&q=%E6%98%BE%E7%A4%BA%E5%99%A8"); } else { //否则调用此方法进行下一步操作 checkNetwork(getActivity()); } } public class MAsticy extends AsyncTask<String, Void, String> { @Override protected String doInBackground(String... strings) { try { //获取路径 URL url = new URL(strings[0]); //获取 HttpURLConnection对象 HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); //获取请求码 int responseCode = urlConnection.getResponseCode(); //判断请求码 if (responseCode == 200) { //将路径转换字节流获取 InputStream inputStream = urlConnection.getInputStream(); //使用bufferReader读取 BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream)); //拼接字符串 builder = new StringBuilder(); //定义变量 String str = ""; //循环读取 while ((str = bufferedReader.readLine()) != null) { //拼接 builder.append(str); } } //返回 return builder.toString(); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return null; } @Override protected void onPreExecute() { super.onPreExecute(); } @Override protected void onPostExecute(String s) { //创建gson对象 Gson gson = new Gson(); //解析gson串 GsonBean gsonBean = gson.fromJson(s, GsonBean.class); //获取数据 result = gsonBean.getResult(); //遍历集合 for (int i = 0; i < result.size(); i++) { lists = result.get(i); //添加到新集合 list.addAll(lists); } //设置适配器 lv.setAdapter(new MAdapter()); super.onPostExecute(s); } @Override protected void onProgressUpdate(Void... values) { super.onProgressUpdate(values); } } private class MAdapter extends BaseAdapter { @Override public int getCount() { return list.size(); } @Override public Object getItem(int i) { return list.get(i); } @Override public long getItemId(int i) { return i; } @Override public View getView(int i, View view, ViewGroup viewGroup) { ViewHolder holder; String s = list.get(i); if (view == null) { view = View.inflate(getActivity(), android.R.layout.simple_list_item_1, null); holder = new ViewHolder(); holder.text1 = (TextView) view.findViewById(android.R.id.text1); view.setTag(holder); } else { holder = (ViewHolder) view.getTag(); } holder.text1.setText(s); return view; } class ViewHolder { TextView text1; } } ////////////////////////////////////// //创建网络请求方法 public boolean isNetworkConnected(Context context) { if (context != null) { ConnectivityManager mConnectivityManager = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo mNetworkInfo = mConnectivityManager.getActiveNetworkInfo(); if (mNetworkInfo != null) { return mNetworkInfo.isAvailable(); } } return false; } ///////////////////////////////////////// 如果没有网络,则弹出网络设置对话框 public void checkNetwork(final Activity activity) { if (!isNetworkConnected(activity)) { TextView msg = new TextView(activity); msg.setText("当前没有可以使用的网络,请设置网络!"); AlertDialog.Builder builder = new AlertDialog.Builder(activity); builder.setTitle("网络状态提示") .setView(msg) .setPositiveButton("确定", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { // 跳转到设置界面 activity.startActivityForResult(new Intent( Settings.ACTION_WIRELESS_SETTINGS), 0); } }).setNegativeButton("取消", null).create().show(); } return ; }}
阅读全文
0 0
- android_判断网络/添加Fragment显示listview
- fragment+TabLayut+PullToRefreshScrollView+banner+listview+网络判断
- Android_判断手机网络状态
- Android_静态添加Fragment&RadioButton切换
- android fragment 显示ListView,并可以添加动画图片
- Android_请求网络数据展示到Listview
- Fragment隐藏和显示和抽屉与判断网络
- android_判断网络链接状态-ConnectivityManager
- Android_判断是否有可用网络
- 判断fragment是否显示
- fragment中判断网络
- ViewPager加上Fragment 显示ListView
- Fragment:判断是否显示当前Fragment
- Fragment 判断当前的fragment是否显示
- listview显示网络图片
- listview显示网络图片
- android_网络判断,Greendao,retrofit,eventbus结合展示数据
- 判断网络状态 fragment隐藏显示 xlistview多条目加载数据
- 2017多校九 hdu6162 02题 Ch's gift dfs序+树状数组+离散化 / 树链剖分+线段树
- 类成员变量,局部变量(形参),静态变量
- mongodb在Java中的分页查询
- 软件的社交能力
- 分布式拒绝服务攻击(DDOS)
- android_判断网络/添加Fragment显示listview
- 作为一个Java程序员,我在很苦逼地上班
- laravel框架使用mongodb数据库
- XMPP协议官网资料
- ELK安装配置
- try catch finally,try里有return,finally还执行么?
- Python 3爬虫网易云(二)—— BeautifulSoup库用法上篇
- Matlab取整函数
- 探秘Jps及无法查看java进程问题