アプリの起動時に Web サイトをスクレイピングして、画像 URL と画像テキストを取得しようとしています。次に、作成した imageText と imageURL の配列を使用して ViewPager を作成し、画像をスクロール可能なギャラリーとして表示できるようにします。
Web ページをフェッチし、HTML を AsyncTask として解析するネットワーク タスクを実行します (以下のコードでは downloadTask())。
私の問題は、これがバックグラウンドで発生するため、コードが画像を表示しようとする前にデータを取得して解析する時間がないことです。コードがヒットすると null ポインター エラーが発生する
new ViewPagerAdapter(this, getimageText(), getimageURLS())
最終的に画像の URL と画像のテキストを格納する配列がまだ作成されていないと推測できます。これは、私のアプリがクラッシュする時点です。
これが私のコードです。私は Android と Java の両方に慣れていないので、多くの助けを借りてできることは明らかです!
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Get the view from viewpager_main.xml
setContentView(R.layout.viewpager_main);
// Fetch the list of URLs using a background network task
new downloadTask().execute(BASE_URL);
// Locate the ViewPager in viewpager_main.xml
viewPager = (ViewPager) findViewById(R.id.pager);
// Pass results to ViewPagerAdapter Class
adapter = new ViewPagerAdapter(this, getimageText(), getimageURLS());
// Binds the Adapter to the ViewPager
viewPager.setAdapter(adapter);
}