URLから解析されたデータを含むリストビューを実装しました。これには遅延アダプターを使用しました。リストをconatinsプルして属性を更新したいのですが、これを実装する正しい方法を見つけることができないという問題があります。助けてください
リストビューの私のXMLは次のとおりです:-
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/upBar" >
<ListView
android:id="@+id/latestList"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:cacheColorHint="#00000000"
android:listSelector="#00000000"
android:padding="7dp"
android:scrollbars="none" />
</RelativeLayout>
私の怠惰なアダプターは次のようなものです:-
public class LazyAdapter extends BaseAdapter {
private Activity activity;
private ArrayList<String> movieThumbnail;
private ArrayList<String> movieText;
private static LayoutInflater inflater=null;
static File cacheDir;
ImageLoader imageloader = new ImageLoader(activity);
public LazyAdapter(Activity a, ArrayList<String> movieThumbnail, ArrayList<String> movieText) {
activity = a;
/*data=d;*/
this.movieThumbnail = movieThumbnail;
this.movieText = movieText;
inflater = (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
public int getCount() {
return movieText.size();
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
View vi=convertView;
if(convertView==null)
vi = inflater.inflate(R.layout.listrow, null);
TextView text=(TextView)vi.findViewById(R.id.rowListTextView);
ImageView image=(ImageView)vi.findViewById(R.id.movieImage);
text.setText(movieText.get(position));
imageloader.DisplayImage(movieThumbnail.get(position), image);
return vi;
}
public void clear(){
imageloader.clearCache();
}
そして、私は次のようにAsyncTaskで遅延アダプターを設定しています:-
@Override protected void onPostExecute(ArrayList<HashMap<String, String>> result) {
lazyAdapter = new LazyAdapter(context, imgLinks, latestData);
listView.setAdapter(lazyAdapter);}