AsyncTask、ListView、および Jsoup を使用して Web サイトから写真を Android アプリに取得しようとしています。2 つのクラス (Activity を拡張するクラスと AsyncTask を拡張するクラス) の間でいくつかの問題が発生しています。これが私の主なアクティビティです。
public class MainActivity extends Activity{
private ListView listView;
private ArrayAdapter adapter;
private ArrayList list;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.listview);
listView = (ListView) findViewById( R.id.listview);
list = new ArrayList();
adapter = new ArrayAdapter(this,
android.R.layout.simple_list_item_1, list);
listView.setAdapter(adapter);
new LoadImages(list, adapter).execute();
}
これは AsyncTask クラスです。
public class LoadImages extends AsyncTask {
private ArrayAdapter adapter;
プライベート ArrayList リスト。
public LoadImages(ArrayList list, Adapter adapter)
{
this.list = list;
this.adapter = (ArrayAdapter) adapter;
}
protected void onPostExecute(Elements divs) {
// TODO Auto-generated method stub
super.onPostExecute(divs);
for (org.jsoup.nodes.Element div : divs)
{
list.add(div);
}
adapter.notifyDataSetChanged();
}
@Override
protected Object doInBackground(Object... params) {
Document doc = null;
try {
doc = (Document) Jsoup.connect("http://mongol.co.il/").get();
Elements divs =((Elements) doc).select("img[src$=.jpg]");
} catch (IOException e1) {
e1.printStackTrace(); }
return null;
}
}