ai

来源:互联网 发布:python 按任意键继续 编辑:程序博客网 时间:2024/04/26 13:09
public class MainActivity extends AppCompatActivity {

    public String urlString = "http://api.expoon.com/AppNews/getNewsList/type/1/p/1";
    String urlBitmap = "http://img.my.csdn.net/uploads/201407/26/1406383265_8550.jpg";
    private ListView lv;
    private List<Project.DataBean> list;
    private MyAdapter adapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //定义一个空的集合
        list = new ArrayList<>();

        //给listview设置适配器
        lv = (ListView) findViewById(R.id.lv);
        adapter = new MyAdapter();
        lv.setAdapter(adapter);
        //直接调用AsyncTask类来请求网络,吧urlString给传进去
        new MyAsyncTask().execute(urlString);


    }
    class MyAsyncTask extends AsyncTask<String,Void,String>{

        //子线程方法,进行联网操作
        @Override
        protected String doInBackground(String... strings) {
            String s = strings[0];
            String netJson = NetUtil.getNetJson(s);
            //把netJson返回给onPostExecute前台方法
            return netJson;
        }

        //主线程方法,可以直接进行更新UI
        @Override
        protected void onPostExecute(String s) {
            Gson gson = new Gson();
            Project project = gson.fromJson(s, Project.class);

            //把一个集合的数据放入另一个集合
            List<Project.DataBean> temp = project.getData();
            list.addAll(temp);
            adapter.notifyDataSetChanged();
            super.onPostExecute(s);

        }
    }


    class MyAdapter 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 viewHolder = new ViewHolder();

            if(view == null){
                view = View.inflate(MainActivity.this,R.layout.activity_two,null);
                viewHolder.tv = view.findViewById(R.id.tv);
                view.setTag(viewHolder);
            }else{
                viewHolder = (ViewHolder)view.getTag();
            }
            viewHolder.tv = view.findViewById(R.id.tv);
            viewHolder.tv.setText(list.get(i).getNews_title());
            return view;
        }
    }
    class ViewHolder{
        TextView tv;
    }
}
原创粉丝点击