1
Я пытаюсь показать WebView
в Android ViewPager
с использованием кода от Chinese blog.Отображение WebView в ViewPager
public class PagerActivity extends Activity {
private ViewPager vpArticle;
private MyPagerAdapter myAdapter;
private List<View> mListViews;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.pager);
myAdapter = new MyPagerAdapter();
vpArticle = (ViewPager) findViewById(R.id.viewpager);
vpArticle.setAdapter(myAdapter);
mListViews = new ArrayList<View>();
addView(mListViews, "file:///android_asset/jan.html");
addView(mListViews, "file:///android_asset/feb.html");
}
private void addView(List<View> viewList,String url)
{
WebView webView=new WebView(this);
webView.loadUrl(url);
viewList.add(webView);
}
private class MyPagerAdapter extends PagerAdapter {
@Override
public void destroyItem(View arg0, int arg1, Object arg2) {
Log.d("k", "destroyItem");
((ViewPager) arg0).removeView(mListViews.get(arg1));
}
@Override
public void finishUpdate(View arg0) {
Log.d("k", "finishUpdate");
}
@Override
public int getCount() {
Log.d("k", "getCount");
return mListViews.size();
}
@Override
public Object instantiateItem(View arg0, int arg1) {
Log.d("k", "instantiateItem");
((ViewPager) arg0).addView(mListViews.get(arg1), 0);
return mListViews.get(arg1);
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
Log.d("k", "isViewFromObject");
return arg0 == (arg1);
}
Однако, когда я пытаюсь запустить его, у меня возникла ошибка NullPointerException.
12-08 19:44:48.093 4968-4968/? E/AndroidRuntime: Caused by: java.lang.NullPointerException
12-08 19:44:48.093 4968-4968/? E/AndroidRuntime: at .PagerActivity$MyPagerAdapter.getCount(PagerActivity.java:61)
12-08 19:44:48.093 4968-4968/? E/AndroidRuntime: at android.support.v4.view.ViewPager.setAdapter(ViewPager.java:439)
12-08 19:44:48.093 4968-4968/? E/AndroidRuntime: at .PagerActivity.onCreate(PagerActivity.java:30)
линия 61 является return mListViews.size();
и линия 30 является vpArticle.setAdapter(myAdapter);
Существуют ли какие-либо шаги, которые я пропустил? Я участвую в разработке Android, и мое умение ограничено.
Спасибо. Это работает! – user2872856
@ user2872856 Cool budy !!! Добро пожаловать !!! –