public class MainActivity extends AppCompatActivity { private String titleUrl = "https://www.toutiao.com/hot_words/"; String jsonurl="https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10&page=1"; private ListView lv; private TextView tv; List<String> titlelist=new ArrayList<>(); int flag = 0; Handler handler=new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); int what=msg.what; if (what==1){ if (titlelist!=null){ int position=flag%titlelist.size(); tv.setText(titlelist.get(position)); } flag++; sendMsg(); } } }; private ImageView iv; private List<JsonBeen.NewslistBean> newslist; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); iv = (ImageView) findViewById(R.id.iv); lv = (ListView) findViewById(R.id.lv); tv = (TextView) findViewById(R.id.tv); initTitlData(); getjsonfromutils(); lv.setAdapter(new LvAdapter()); } private void initTitlData() { new MyAsyncTask().execute(titleUrl); } /** * 泛型 第一个参数:传过来的url * 第二个参数 :进度 * 第三个参数 :接口请求成功返回的东西(json,bitmap) */ class MyAsyncTask extends AsyncTask<String,Void,String> { /* * * 这个方法在子线程,在这个方法里进行联网操作 * * @param strings 可变参数,底层是数组,里面放的是传过来的参数; * @return*/ @Override protected String doInBackground(String... strings) { String s = strings[0]; //直接用工具类获取json String netJson = Utils.getNetJson(s); return netJson;//返回给(前台方法,主线程方法onPostExecute) } @Override protected void onPostExecute(String s) { super.onPostExecute(s); try { JSONArray jsonArray = new JSONArray(s); for (int i = 0; i <jsonArray.length() ; i++) { titlelist.add(jsonArray.getString(i)); } Log.e("lmy","onPostExecute"+titlelist.toString()); //Toast.makeText(MainActivity.this,titlelist.toString(),Toast.LENGTH_LONG).show(); sendMsg(); } catch (JSONException e) { e.printStackTrace(); } } } public void sendMsg() { handler.sendEmptyMessageDelayed(1,3000); } private class LvAdapter extends BaseAdapter { @Override public int getCount() { return newslist.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() } return view; } } public void getjsonfromutils(){ Gson gson = new Gson(); JsonBeen jsonBeen = gson.fromJson(jsonurl, JsonBeen.class); newslist = jsonBeen.getNewslist(); } }
无限轮播标题栏
最新推荐文章于 2021-06-18 17:16:57 发布