Why is my BaseAdapter class not incrementing the position in getView?

Standard

This error will happen if you put a ListView inside a ScrollView. ListView itself does vertical scroll so it must not be put into a ScrollView.

An adapter will call getView when listView need new item to show. So, if your listView not scroll, no new item be created, and no call to getView.

But you should not store all spinner object, and should not create new object in getView too. Thats cause slow and maybe waste memory.

How to prevent a ScrollView from scrolling to a WebView after data is loaded?

Standard

You should create new class extend ScrollView, then Override requestChildFocus:

import android.content.Context;
import android.util.AttributeSet;
import android.view.View;
import android.webkit.WebView;
import android.widget.ScrollView;

public class MyScrollView extends ScrollView {

 public MyScrollView(Context context, AttributeSet attrs, int defStyle) {
 super(context, attrs, defStyle);
 // TODO Auto-generated constructor stub
 }

 public MyScrollView(Context context, AttributeSet attrs) {
 super(context, attrs);
 // TODO Auto-generated constructor stub
 }

 public MyScrollView(Context context) {
 super(context);
 // TODO Auto-generated constructor stub
 }

 @Override
 public void requestChildFocus(View child, View focused) {
 if (focused instanceof WebView)
 return;
 super.requestChildFocus(child, focused);
 }
}