با عرض سلام خسته نباشید
بنده زمانی که لیست ویو به سمت پایین میکشم که داده های json درون لیست قرار بگیرد
لیست بصورت خودکار به سمت بالا برمیگردد.
لطفا راهنمایی کنید؟؟؟
با عرض سلام خسته نباشید
بنده زمانی که لیست ویو به سمت پایین میکشم که داده های json درون لیست قرار بگیرد
لیست بصورت خودکار به سمت بالا برمیگردد.
لطفا راهنمایی کنید؟؟؟
شما در هر بار دریافت اطلاعات، یک Adapter جدید میسازید و روی لیست ویو ست می کنید.
درصورتی که باید دیتای جدید رو به دیتای قبلی ادپتر اضافه کنید و متد notifyDatasetChanged از آبجکت adapter رو صدا بزنید تا ادپتر اطلاعات جدید رو لود کنه. در این حالت لیست به ابتدا بر نمیگرده و داده های جدید به داده های قبلی اضافه میشه
برای اینکار هم یک متد به کلاس ادپتر اضافه کنید که دیتای جدید (<<List<HashMap<String , Object) رو بگیره و به دیتای موجود در ادپتر اضافه کنه (متد addAll) و در ادامه متد nofifyDatasetChanged رو هم کال کنه.
با تشکر از دوست عزیز بابت پاسخگویی ولی فکر میکنم اشتباه انجام دادم
private class ListViewLoaderTask extends AsyncTask<String , Void , SimpleAdapter>
{
@Override
protected SimpleAdapter doInBackground(String... params)
{
try
{
AdsParser_madah parser = new AdsParser_madah();
all_ads_madah.addAll( parser.parse(params[0]) );
all_ads.addAll(all_ads_madah);
}
catch ( Exception e )
{
Log.i( "Message" , "error in ListViewLoaderTask -> " + e.toString() );
}
String[] from = { "image" , "name_madah" , "date" , "like", "count"};
int[] to = { R.id.ads_img_madah , R.id.ads_name_madah ,
R.id.ads_date_madah , R.id.ads_like_madah, R.id.ads_count_madah};
SimpleAdapter adb = new SimpleAdapter(
getBaseContext() , all_ads , R.layout.ads_list_madah , from , to
);
adb.notifyDataSetChanged();
return adb;
}
@Override
protected void onPostExecute(SimpleAdapter adapter)
{
lv.setAdapter( adapter );
for (int i = 0; i < adapter.getCount(); i++)
{
HashMap<String , Object> hm =
(HashMap<String , Object>) adapter.getItem( i );
String imgURL = (String) hm.get("image_path");
HashMap<String , Object> forDownload = new HashMap<>();
forDownload.put( "image_path" , imgURL );
forDownload.put( "position" , i );
ImageDownloaderTask imgDownloader = new ImageDownloaderTask();
imgDownloader.execute( forDownload );
}
go_next = true;
}
}
آخرین ویرایش به وسیله abbaskhadem1394 : پنج شنبه 26 اسفند 1395 در 06:16 صبح