The problem of your class is with your setter method for the "Factory attributes". You have null pointer exceptions because it was not set a new ArrayList in each of the private variables. To fix that you have to do the following setter. As hoaz said, the clearArrayAdapterItemsWithPrompt is useless because it not sets properly the variables. To fix you should have do the Following Code:
private void clearArrayAdapterItemsWithPrompt(int spinnerId) {
setArrayAdapterItemsWithSpinnerId(spinnerId, new ArrayList<String>())
}
private void setArrayAdapterItemsWithSpinnerId(int spinnerId, List<String> list) {
switch (spinnerId) {
case R.id.spinner_a:
this.spinnerAdapterItemsA = list;
break;
case R.id.spinner_b:
this.spinnerAdapterItemsB = list;
break;
case R.id.spinner_c:
this.spinnerAdapterItemsC = list;
break;
default:
break;
}
And is valid to mention that maybe you may lose the styling for your Spinner maybe you will have to edit the method a little bit to fit your needs.