package fragment.bwie.com.rikao14; import android.content.DialogInterface; import android.content.Intent; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.os.Bundle; import android.provider.Settings; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentActivity; import android.support.v4.view.ViewPager; import android.support.v7.app.AlertDialog; import java.util.ArrayList; import java.util.List; import fragment.bwie.com.rikao14.adapter.Fragment_Adapter; import fragment.bwie.com.rikao14.fragment.Fragment_01; public class MainActivity extends FragmentActivity { private ViewPager pager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); pager = (ViewPager) findViewById(R.id.pager); panduan(); } private void panduan() { if (isNetconnected()) { List<Fragment> list = new ArrayList<>(); list.add(new Fragment_01()); Fragment_Adapter fragment_adapter = new Fragment_Adapter(getSupportFragmentManager(), list); pager.setAdapter(fragment_adapter); } else { AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); builder.setTitle("警告"); builder.setMessage("网络不可用,是否设置?"); builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { Intent intent = new Intent(Settings.ACTION_WIFI_SETTINGS); startActivity(intent); } }); builder.setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { } }); builder.show(); } } public boolean isNetconnected() { ConnectivityManager manager = (ConnectivityManager) MainActivity.this.getSystemService(MainActivity.this.CONNECTIVITY_SERVICE); NetworkInfo networkInfo = manager.getActiveNetworkInfo(); if (networkInfo != null) { return networkInfo.isAvailable(); } return false; } }
------------------------------------------fragment
package fragment.bwie.com.rikao14.fragment; import android.os.AsyncTask; import android.os.Bundle; 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.ListView; import com.google.gson.Gson; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import java.util.ArrayList; import java.util.List; import fragment.bwie.com.rikao14.R; import fragment.bwie.com.rikao14.adapter.MyAdapter; import fragment.bwie.com.rikao14.bean.DataBean; /** * Created by CZ on 2017/9/14. */ public class Fragment_01 extends Fragment { private ListView listView; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment, container, false); listView = (ListView) view.findViewById(R.id.list_view); return view; } @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); AsyncTask<Void, Void, String> asyncTask = new AsyncTask<Void, Void, String>() { @Override protected String doInBackground(Void... voids) { String path = "https://suggest.taobao.com/sug?code=utf-8&q=%E6%98%BE%E7%A4%BA%E5%99%A8"; try { URL url = new URL(path); HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); urlConnection.setRequestMethod("GET"); urlConnection.setConnectTimeout(5000); urlConnection.setReadTimeout(5000); int responseCode = urlConnection.getResponseCode(); if (responseCode == 200) { InputStream inputStream = urlConnection.getInputStream(); String json = streamTostring(inputStream, "utf-8"); return json; } } catch (Exception e) { e.printStackTrace(); } return null; } @Override protected void onPostExecute(String s) { super.onPostExecute(s); Gson gson = new Gson(); DataBean dataBean = gson.fromJson(s, DataBean.class); List<List<String>> list = dataBean.getResult(); MyAdapter myAdapter = new MyAdapter(list, getActivity()); listView.setAdapter(myAdapter); } }; asyncTask.execute(); } private String streamTostring(InputStream inputStream, String s) { try { InputStreamReader inputStreamReader = new InputStreamReader(inputStream, s); BufferedReader bufferedReader = new BufferedReader(inputStreamReader); StringBuilder builder = new StringBuilder(); String string = null; while ((string = bufferedReader.readLine()) != null) { builder.append(string); } bufferedReader.close(); return builder.toString(); } catch (Exception e) { e.printStackTrace(); } return null; } }
---------------------------------------------------适配器
package fragment.bwie.com.rikao14.adapter; import android.content.Context; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.TextView; import java.util.List; import fragment.bwie.com.rikao14.R; /** * Created by CZ on 2017/9/14. */ public class MyAdapter extends BaseAdapter { List<List<String>> list; Context context; public MyAdapter(List<List<String>> list, Context context) { this.list = list; this.context = context; } @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; if (view == null) { view = View.inflate(context, R.layout.list_item, null); holder = new ViewHolder(); holder.textView = (TextView) view.findViewById(R.id.result); view.setTag(holder); } else { holder = (ViewHolder) view.getTag(); } holder.textView.setText(list.get(i).get(0) + "--------" + list.get(i).get(1)); return view; } private class ViewHolder { TextView textView; } }
----------------------------------------------viewpager适配
package fragment.bwie.com.rikao14.adapter; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; import java.util.List; /** * Created by CZ on 2017/9/14. */ public class Fragment_Adapter extends FragmentPagerAdapter { List<Fragment> list; public Fragment_Adapter(FragmentManager fm, List<Fragment> list) { super(fm); this.list = list; } @Override public Fragment getItem(int position) { return list.get(position); } @Override public int getCount() { return list.size(); } }