title: scroll view is not smoothly scrolling using lazyloader
body: <p>Hi i have data and images which is coming from web service.getting all data using AsynTask and also get images using lazy loader class,and also show that data in listview.here after the Splash screen,main screen data is show in listview.<br>
  but here are some problem while scrolling in listview,its not working smoothly is stuttering.</p>
  
  <p>my adapter java file</p>
  
  <pre><code>public class NewsScreenAdapter extends BaseAdapter implements OnTouchListener,Handler.Callback {
  
      LayoutInflater inflater;
     // public GifDecoderView webview1;
      public static  viewholder holder;
      View view = null;
      public Context context;
      public ImageLoader IL;
      public String imgUrl;
      public static String addurl;    
      public Activity activity;
      String image;
      public static String str;
      public static Date parsed;
      public static String ac, cat_id;
  
      private WebViewClient client;
  
  
  
      public NewsScreenAdapter(NewsScreenActivity a) {
          // TODO Auto-generated constructor stub
  
          this.context = a.getApplicationContext();
          this.activity = a;       
          inflater = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
          IL = new ImageLoader(activity.getApplicationContext());   
       }
  
      @Override
      public int getCount() {
          // TODO Auto-generated method stub
          // return NewsScreenActivity.arrayList_header.size();
  
          return NewsScreenActivity.TotalDataArray.size();
      }
  
      @Override
      public Object getItem(int position) {
          // TODO Auto-generated method stub
          return position;
      }
  
  
      @Override
      public int getItemViewType(int position) {
          // TODO Auto-generated method stub
          return position;
      }
      @Override
      public int getViewTypeCount() {
          // TODO Auto-generated method stub
          return NewsScreenActivity.TotalDataArray.size();
      }
  
      @Override
      public long getItemId(int position) {
          // TODO Auto-generated method stub
          return position;
      }
  
  
      public View getView(final int position, View convertView, ViewGroup parent) {
          // TODO Auto-generated method stub
  
          View vi = convertView;
  
              holder = new viewholder();
  
              vi = inflater.inflate(R.layout.newsscren_row, null);
              holder.news_header_title = (TextView) vi.findViewById(R.id.header_title);
              holder.ll_data = (LinearLayout) vi.findViewById(R.id.data);
  
              vi.setTag(holder);
  
              // ------- set custom Font----- 
              Typeface typefont=Typeface.createFromAsset(context.getAssets(),"Times New Roman.ttf");
              holder.news_header_title.setOnClickListener(new OnClickListener() {
  
              @Override
              public void onClick(View v) {
                  // TODO Auto-generated method stub
  
                  cat_id = NewsScreenActivity.arrayList_header.get(position);
                  ac = ((NewsScreenActivity.MainData) NewsScreenActivity.TotalDataArray.get(position)).catId;
  
                  activity.startActivity(new Intent(activity,CategoryActivity.class).putExtra("id", ac));
  
              }
          });
  
          holder.ll_data.removeAllViews();
        //  try {
  
                int  storyLenght = ((NewsScreenActivity.MainData) NewsScreenActivity.TotalDataArray.get(position)).storyArr.size();
  
         /* } catch (Exception e) {
              // TODO: handle exception
          }*/
  
  
          for (int i = 0; i &lt; storyLenght; i++) {
  
              view = LayoutInflater.from(activity).inflate(R.layout.sub_row, null);
  
              holder.short_text = (TextView) view.findViewById(R.id.short_text);
              holder.image = (ImageView) view.findViewById(R.id.image);
              holder.des = (TextView) view.findViewById(R.id.des);
              holder.date_time = (TextView) view.findViewById(R.id.date_time);
              holder.llAdd = (LinearLayout) view.findViewById(R.id.sub_llAdd);
              holder.imgAdd = (WebView) view.findViewById(R.id.imgAdd);
              holder.imgAdd.setVerticalScrollBarEnabled(false);
  
              holder.short_text.setTypeface(typefont);
              holder.des.setTypeface(typefont);
              holder.date_time.setTypeface(typefont);
              holder.news_header_title.setTypeface(typefont);
  
          try{
               holder.image.setTag(NewsScreenActivity.arrayList_image.get(i));
  
                  IL.DisplayImage(
                          ((NewsScreenActivity.ImagesData) ((NewsScreenActivity.StoryData) ((NewsScreenActivity.MainData) NewsScreenActivity.TotalDataArray
                                  .get(position)).storyArr.get(i)).imageArr.get(0)).smallurl, holder.image);
  
  
                  notifyDataSetChanged();
  
              } catch (Exception e) {
                  // TODO: handle exception
              }
  
          try {
  
  
          holder.short_text.setText(((NewsScreenActivity.StoryData) ((NewsScreenActivity.MainData) NewsScreenActivity.TotalDataArray.get(position)).storyArr.get(i)).title);
          holder.des.setText(((NewsScreenActivity.StoryData) ((NewsScreenActivity.MainData) NewsScreenActivity.TotalDataArray.get(position)).storyArr.get(i)).description);
  
  
              String st = ((NewsScreenActivity.StoryData) ((NewsScreenActivity.MainData) NewsScreenActivity.TotalDataArray
                      .get(position)).storyArr.get(i)).date;
              parsed = new Date(Long.parseLong(st.substring(6, st.length() - 2)));
  
              SimpleDateFormat sdf = new SimpleDateFormat("MMM dd,yyyy hh:mmaa");
  
              String concat = sdf.format(parsed);
              String data = concat;
              String half1 = data.substring(0, 11);
  
  
              SimpleDateFormat display_date = new SimpleDateFormat("dd.MM.yyyy");
  
              String dis_date = display_date.format(parsed);
  
              String half2 = data.substring(11, 19);
  
  
              SimpleDateFormat currentdate = new SimpleDateFormat("MMM dd,yyyy");
              Date currunt = new Date();
              String day = currentdate.format(currunt);
  
              if (half1.equalsIgnoreCase(day) == true) {
                  holder.date_time.setText(half2);
  
  
              } else {
                  half1 = dis_date;
                  holder.date_time.setText(half1);
  
              }     
  
              holder.news_header_title.setText(((NewsScreenActivity.MainData) NewsScreenActivity.TotalDataArray
                              .get(position)).catDisplay);
  
  
              if (!((NewsScreenActivity.StoryData) ((NewsScreenActivity.MainData) NewsScreenActivity.TotalDataArray
                      .get(position)).storyArr.get(i)).advertising
                      .equalsIgnoreCase("null")) {
  
                   holder.short_text.setVisibility(view.GONE);
                   holder.date_time.setVisibility(view.GONE);
                   holder.des.setVisibility(view.GONE);
  
                  imgUrl = ((NewsScreenActivity.StoryData) ((NewsScreenActivity.MainData) NewsScreenActivity.TotalDataArray
                          .get(position)).storyArr.get(i)).adData.imageurl;
  
                  // TODO Auto-generated method stub
                  addurl = ((NewsScreenActivity.StoryData) ((NewsScreenActivity.MainData) NewsScreenActivity.TotalDataArray
                          .get(position)).storyArr.get(i)).adData.targeturl;
  
  
                  //-----------------GIF Image view ------------
  
                  holder.imgAdd.setOnTouchListener(NewsScreenAdapter.this);
  
                      client = new WebViewClient(){ 
                          @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { 
                              handler.sendEmptyMessage(CLICK_ON_URL);
  
                              return false;
                          } 
                      }; 
  
                      holder.imgAdd.setWebViewClient(client);
                      holder.imgAdd.setVerticalScrollBarEnabled(false);
  
  
                  //    view.setVerticalScrollBarEnabled(false);
  
  
  
                  holder.imgAdd.getSettings().setJavaScriptEnabled(true);
  
                  holder.imgAdd.setWebChromeClient(new WebChromeClient() {
                          public void onProgressChanged(WebView view, int progress)
                          {
  
                              activity.setProgress(progress * 100);
  
                              if(progress == 100){}
  
                          }
                      });
  
                  holder.imgAdd.setWebViewClient(new WebViewClient() {
                          @Override
                          public void onReceivedError(WebView view, int errorCode, String description, String failingUrl)
                          {
                              // Handle the error
                          }
  
                          @Override
                          public boolean shouldOverrideUrlLoading(WebView view, String url)
                          {
                              view.loadUrl(url);
                              return true;
                          }
                      });
  
                  holder.imgAdd.loadUrl(imgUrl);
  
              //  holder.imgAdd.setPadding(30, 20, 0, 20);
  
  
                  holder.llAdd.setVisibility(View.VISIBLE);
                }
  
              holder.ll_data.addView(view);      
  
  
              view.setTag(position+"OK"+i);
  
              view.setOnClickListener(new OnClickListener() {
  
                  @Override
                  public void onClick(View v) {
  
                      String tag = (String) v.getTag();
                      String[] arr = tag.split("OK");
                      int p = Integer.parseInt(arr[0]);
                      int i = Integer.parseInt(arr[1]);
  
  
                      str = ((NewsScreenActivity.StoryData) ((NewsScreenActivity.MainData) NewsScreenActivity.TotalDataArray .get(p)).storyArr.get(i)).storyid;
  
  
                      Intent intent = new Intent(context,ShowFullDescriprion.class);
                      intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  
                      intent.putExtra("id", str);
                      intent.putExtra("cat", p);
                      intent.putExtra("pos",i);
                      activity.startActivity(intent);
                  }
              });
   } catch (Exception e) {
          // TODO: handle exception
                  }
          }
          return vi;
  
      }
  
  
  
      public static String getDate(long milliSeconds, String dateFormat) {
          // Create a DateFormatter object for displaying date in specified
          // format.
          DateFormat formatter = new SimpleDateFormat(dateFormat);
  
          // Create a calendar object that will convert the date and time value in
          // milliseconds to date.
          Calendar calendar = Calendar.getInstance();
          calendar.setTimeInMillis(milliSeconds);
          return formatter.format(calendar.getTime());         
      }    
      public static class viewholder {
  
          TextView news_header_title, short_text, des, date_time;
          LinearLayout ll_data, llAdd;
          public ImageView image;
          WebView imgAdd;
  
      }
      private static final int CLICK_ON_WEBVIEW = 1;
      private static final int CLICK_ON_URL = 2;
  
      private Handler handler = new Handler(NewsScreenAdapter.this);
  
  
      @Override
      public boolean onTouch(View v, MotionEvent event) {
          // TODO Auto-generated method stub
            if (v.getId() == R.id.imgAdd &amp;&amp; event.getAction() == MotionEvent.ACTION_DOWN){
                  handler.sendEmptyMessageDelayed(CLICK_ON_WEBVIEW, 500);
              }
              return false;
      }
      public boolean handleMessage(Message msg) {
          if (msg.what == CLICK_ON_URL){
              handler.removeMessages(CLICK_ON_WEBVIEW);
  
  
              return true;
          }
          if (msg.what == CLICK_ON_WEBVIEW){
  
              activity.startActivity(new Intent(activity, AdvertismentActivity.class).putExtra("id", addurl));
  
              return true;
          }
          return false;
      }
  
      /* public void clearAllResources() {
  
              // Set related variables null
  
              System.gc();
              Runtime.getRuntime().gc();
             }*/
  } 
  </code></pre>