public class MainActivity extends AppCompatActivity { XListView xlv; List<News.NewslistBean> list; News news; boolean flag=true; Handler handler=new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); xlv= (XListView) findViewById(R.id.xlv); list=new ArrayList<News.NewslistBean>(); initData(); xlv.setPullRefreshEnable(true); xlv.setPullLoadEnable(true); xlv.setXListViewListener(new XListView.IXListViewListener( ) { @Override public void onRefresh() { handler.postDelayed(new Runnable( ) { @Override public void run() { flag=true; initData(); xlv.stopRefresh(); } },3000); } @Override public void onLoadMore() { handler.postDelayed(new Runnable( ) { @Override public void run() { flag=false; initData(); xlv.stopLoadMore(); } },3000); } }); } private void initData() { new AsyncTask<String,String,String>() { @Override protected String doInBackground(String... strings) { getData(); ImageLoaderConfiguration aDefault = ImageLoaderConfiguration.createDefault(MainActivity.this); ImageLoader.getInstance().init(aDefault); return null; } @Override protected void onPostExecute(String s) { MyAdpter myAdpter=new MyAdpter(); xlv.setAdapter(myAdpter); super.onPostExecute(s); } }.execute(); } private void getData() { try { URL url=new URL("https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10"); HttpURLConnection conn= (HttpURLConnection) url.openConnection(); conn.setRequestMethod("GET"); int code=conn.getResponseCode(); if (code==200) { Gson gson=new Gson(); news=gson.fromJson(new InputStreamReader(conn.getInputStream(),"UTF-8"),News.class); if (flag) { list=news.getNewslist(); }else { list.addAll(0,news.getNewslist()); } } } catch (Exception e) { e.printStackTrace( ); } } class MyAdpter extends BaseAdapter{ @Override public int getCount() { return list.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) { ViewHolder holder; if (view==null) { holder=new ViewHolder(); view=View.inflate(MainActivity.this,R.layout.list_item,null); holder.name= (TextView) view.findViewById(R.id.tv); holder.image= (ImageView) view.findViewById(R.id.iv); view.setTag(holder); }else { holder= (ViewHolder) view.getTag(); } holder.name.setText(news.getNewslist().get(i).getTitle()); ImageLoader.getInstance().displayImage(news.getNewslist().get(i).getPicUrl(),holder.image); return view; } } class ViewHolder{ ImageView image; TextView name; } }
简单解析Json
最新推荐文章于 2024-08-07 15:29:14 发布