==============================Show
package com.bwie.monichengdanni.tu; import android.content.SharedPreferences; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.design.widget.TabLayout; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.view.ViewPager; import android.support.v7.app.AppCompatActivity; import com.bwie.monichengdanni.DBUtils; import com.bwie.monichengdanni.Fengzhuang; import com.bwie.monichengdanni.Framene; import com.bwie.monichengdanni.NetworkUtils; import com.bwie.monichengdanni.R; import com.bwie.monichengdanni.tu.Hepler; import com.bwie.monichengdanni.tu.News; import com.google.gson.Gson; import java.util.ArrayList; import java.util.List; public class Show extends Fengzhuang { private String dataul = "http://ftp6252741.host709.zhujiwu.me/abnerming/news_xl.txt"; private List<News.ItemsBean> list = new ArrayList<>(); private List<Fragment> fragments = new ArrayList<>(); private ViewPager pager; private MyAdtapter myAdtapter; private TabLayout tabLayout; private String[] pinyin={"top","shehui","guonei","guoji","yule","tiyu","junshi","keji","caijing","shishang"}; private DBUtils dbUtils; @Override public void inData() { tabLayout = (TabLayout) findViewById(R.id.tab); pager = (ViewPager) findViewById(R.id.pager); dbUtils=new DBUtils(this); myAdtapter = new MyAdtapter(getSupportFragmentManager()); pager.setAdapter(myAdtapter); tabLayout.setTabMode(TabLayout.MODE_SCROLLABLE); tabLayout.setupWithViewPager(pager); doHttp(); } @Override public int getLayout() { return R.layout.show; } private class MyAdtapter extends FragmentPagerAdapter { public MyAdtapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int position) { Fragment fragment = fragments.get(position); Bundle bundle = new Bundle(); bundle.putString("key", pinyin[position]); fragment.setArguments(bundle); return fragments.get(position); } @Override public int getCount() { return fragments.size(); } @Override public CharSequence getPageTitle(int position) { return list.get(position).getName(); } } private void doHttp() { if(!NetworkUtils.isConnected(this)){ String data=dbUtils.queryItems(); create(data); return; } new Hepler().get(dataul).result(new Hepler.HttpListener() { @Override public void success(String data) { dbUtils.insertItem(data); create(data); } }); } private void create(String data) { News bean = new Gson().fromJson(data, News.class); list = bean.getItems(); for (int a = 0; a < list.size(); a++) { fragments.add(new Framene()); } myAdtapter.notifyDataSetChanged(); } }
======================================================Framene
package com.bwie.monichengdanni; import android.content.Intent; 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.AdapterView; import com.bwie.monichengdanni.tu.News; import com.bwie.monichengdanni.tu.Show; import com.example.xlistviewlib.XListView; import com.google.gson.Gson; import java.util.ArrayList; import java.util.List; public class Framene extends Fragment { private int page = 1; private XListView listView; private String key; private NewsAdapter newsAdapter; private List<New.DataBean> list = new ArrayList<>(); private List<New.DataBean> listAll = new ArrayList<>(); private DBUtils dbUtils; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.framnet, null, false); listView = (XListView) view.findViewById(R.id.view); dbUtils = new DBUtils(getActivity()); Bundle bundle = getArguments(); key = bundle.getString("key"); listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { Intent intent = new Intent(getActivity(), Dr.class); intent.putExtra("url", list.get(i).getUrl()); startActivity(intent); } }); newsAdapter = new NewsAdapter(getActivity()); listView.setAdapter(newsAdapter); doHttp(page); listView.setPullRefreshEnable(true); listView.setPullLoadEnable(true); listView.setXListViewListener(new XListView.IXListViewListener() { @Override public void onRefresh() { listAll.clear(); page = 1; doHttp(page); listView.stopRefresh(); } @Override public void onLoadMore() { page++; doHttp(page); listView.stopLoadMore(); } }); return view; } private void doHttp(int page) { if (!NetworkUtils.isConnected(getActivity())) { //String data=getSharedPreferences("news", 0).getString("news",""); String data = dbUtils.query(); New bean = new Gson().fromJson(data, New.class); list = bean.getData(); listAll.addAll(list); newsAdapter.setList(listAll); return; } String dataurl = "http://www.xieast.com/api/news/news.php?type=" + key + "&page=" + page; new Hpler().get(dataurl).result(new Hpler.Httlistlin() { @Override public void suucss(String data) { //SharedPreferences sp = getSharedPreferences("news", 0); // sp.edit().putString("news",data).commit(); dbUtils.insert(data); New bean = new Gson().fromJson(data, New.class); list = bean.getData(); listAll.addAll(list); newsAdapter.setList(listAll); } }); } }