listview+webview

来源:互联网 发布:linux查看电源功率 编辑:程序博客网 时间:2024/06/05 18:41
public class MainActivity extends AppCompatActivity {

    private ListView list;
    private List<MyBean.DataBean> data = new ArrayList<>();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //初始化
        ImageLoaderConfiguration configuration = ImageLoaderConfiguration.createDefault(this);
        ImageLoader.getInstance().init(configuration);
        list = (ListView) findViewById(R.id.list);
        MyTask task = new MyTask();
        //开启异步
        task.execute("");
        list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
                Intent intent = new Intent(MainActivity.this, MyActivity.class);

                Log.e("==========",   data.get(i).getTitle()+"");
               /* intent.putExtra("title", b.getTitle());
                intent.putExtra( "name", b.getSource_name());
                intent.putExtra("time",b.getCreate_time());*/
                intent.putExtra("url",data.get(i).getUrl());
                intent.putExtra("web","http://shouyoutoutiao.app.17wanba.com");
                startActivity(intent);
            }
        });

    }

    //异步任务
    class MyTask extends AsyncTask<String, Integer, MyBean> {


        @Override
        protected MyBean doInBackground(String... strings) {
            Gson gson = new Gson();
            MyBean bean = gson.fromJson(getJsonString(), MyBean.class);
            return bean;
        }

        @Override
        protected void onPostExecute(MyBean myBean) {
            super.onPostExecute(myBean);
            data = myBean.getData();
            Log.e("========",data.toString());
            MyAdapter adapter = new MyAdapter(data, MainActivity.this);
            list.setAdapter(adapter);

        }
    }

    public String getJsonString() {
        String path = "http://shouyoutoutiao.app.17wanba.com/toutiao/get_list";
        try {
            URL url = new URL(path);
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            if (connection.getResponseCode() == 200) {
                InputStream is = connection.getInputStream();
                BufferedReader reader = new BufferedReader(new InputStreamReader(is));
                String str = "";
                String string = "";
                while ((str = reader.readLine()) != null) {
                    string += str;
                }
                return string;
            }

        } catch (Exception e) {
            e.printStackTrace();
        }


        return null;
    }


}




//适配器


public class MyAdapter extends BaseAdapter {
    private List<MyBean.DataBean> arr = new ArrayList<>();
    private Context context;
    private ImageLoader loader;

    public MyAdapter(List<MyBean.DataBean> arr, Context context) {
        this.arr = arr;
        this.context = context;
        loader = ImageLoader.getInstance();
    }

    @Override
    public int getCount() {
        return arr.size();
    }

    @Override
    public Object getItem(int i) {
        return arr.get(i);
    }

    @Override
    public long getItemId(int i) {
        return i;
    }

    @Override
    public View getView(int i, View view, ViewGroup viewGroup) {
        ViewHolder holder = null;
        if (view == null) {
            view = View.inflate(context, R.layout.list_item, null);
            holder = new ViewHolder();
            holder.im = view.findViewById(R.id.im);
            holder.tv1 = view.findViewById(R.id.tv1);
            holder.tv2 = view.findViewById(R.id.tv2);
            holder.tv3 = view.findViewById(R.id.tv3);
            view.setTag(holder);
        } else {
            holder = (ViewHolder) view.getTag();
        }
        holder.tv1.setText(arr.get(i).getTitle());
        if (arr.get(i).getImg() != null && arr.get(i).getImg().size() > 0) {
            loader.displayImage(arr.get(i).getImg().get(0).url, holder.im);
        }
        holder.tv2.setText(arr.get(i).getCreate_time());
        holder.tv3.setText(arr.get(i).getSource_name());

        return view;
    }

    static class ViewHolder {
        TextView tv1, tv2, tv3;
        ImageView im;
    }
}




webview

public class MyActivity extends Activity {

    private WebView web;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.myaitivity_item);
      /*  ImageLoader loader =  ImageLoader.getInstance();
        TextView tv11 = findViewById(R.id.tv11);
        TextView tv22 = findViewById(R.id.tv22);
        TextView tv33 = findViewById(R.id.tv33);*/
        web = findViewById(R.id.web);
      /* ImageView im = findViewById(R.id.im);
        String title = intent.getStringExtra("title");
        String name = intent.getStringExtra("name");
        String time = intent.getStringExtra("time");
        loader.displayImage(url,im);
        tv11.setText(title+"aaa");
        tv22.setText(name);
        tv33.setText(time);
        web.loadUrl("http://shouyoutoutiao.app.17wanba.com");*/
        initWebView();
    }

    private void initWebView() {
        Intent intent = getIntent();
        String url = intent.getStringExtra("url");
        String webstring = intent.getStringExtra("web");
        WebSettings webSettings = web.getSettings();
        webSettings.setJavaScriptEnabled(true);
        webSettings.setJavaScriptCanOpenWindowsAutomatically(true);
        //在webview打开连接
        web.setWebViewClient(new WebViewClient());
        web.loadUrl(webstring + url);

    }
}



原创粉丝点击