1. 程式人生 > >根據Listview請求的資料 進行內部的網路載入

根據Listview請求的資料 進行內部的網路載入

list_view.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        News.resultBean.dataBean bean = list.get(position);
        bundle = new Bundle();
        bundle.putSerializable("bean", bean);
        Intent intent = new Intent(getActivity(), WebActivity.class);
        intent.putExtras(bundle);
        startActivity(intent);

    }
});

//

implements Serializable    需要在bean類中實現一個序列化介面
<android.support.v4.view.ViewPager
    android:layout_width="match_parent"
    android:layout_height="200dp"
    android:id="@+id/vp"/>
<WebView
    android:id="@+id/web_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent"></WebView>
public class WebActivity extends AppCompatActivity {
    private ViewPager vp;
    private WebView web_view;
    private ArrayList<String> imgList;
    private String url;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_web);
        vp = findViewById(R.id.vp);
        web_view = findViewById(R.id.web_view);

        Intent intent = getIntent();
        Bundle bundle = intent.getExtras();
        News.resultBean.dataBean bean = (News.resultBean.dataBean) bundle.getSerializable("bean");
        url = bean.getUrl();

        imgList = new ArrayList<>();
        if (!TextUtils.isEmpty(bean.getThumbnail03())) {
            imgList.add(bean.getThumbnail03());
            imgList.add(bean.getThumbnail02());
            imgList.add(bean.getThumbnail01());
        } else if (!TextUtils.isEmpty(bean.getThumbnail02())) {
            imgList.add(bean.getThumbnail02());
            imgList.add(bean.getThumbnail01());
        } else {
            imgList.add(bean.getThumbnail01());
        }

        vp.setAdapter(new PagerAdapter() {
            @Override
            public int getCount() {
                return imgList.size();
            }

            @Override
            public boolean isViewFromObject(@NonNull View view, @NonNull Object object) {
                return view == object;
            }

            @NonNull
            @Override
            public Object instantiateItem(@NonNull ViewGroup container, int position) {
                ImageView img = new ImageView(WebActivity.this);
                ImageLoader.getInstance().displayImage(imgList.get(position), img);

                container.addView(img);
                return img;
            }

            @Override
            public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
                container.removeView((View) object);
            }
        });

        web_view.loadUrl(url);
        web_view.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
                return super.shouldOverrideUrlLoading(view, request);
            }
        });
    }

}