Create an array adapter with a vector or array like:
ArrayAdapter(Context context, int textViewResourceId, T[] objects)
By initializing your arrayadapter, you will make it listen to objects array. Do not add item to the adapter or clear the adapter, do your additions in "objects" array and also clear it. After changes on this array call
adapter.notifyDataSetChanged();
More specifically
ArrayAdapter<
YourContentType> yourAdapter = new ArrayAdapter<
YourContentType>
(this,R.id.OneOfYourTextViews,YourDataList);
yourAdapter.notifyDataSetChanged();
aTextView.setText(yourAdapter.isEmpty()?"List is empty":"I have too many objects:)");
This should be done after loading YourDataList, I checked your code, are you sure handler calls addStockItemsToAdapter() before you look your adapter is empty or not?
You should also check if stocks vector has any elements in it.