OK, so I've altered the onRatingChanged function to only fire it's contents if the fromUser boolean is true - obviously when the system redraws the tab it's then not firing the toast;
ratingBar.setOnRatingBarChangeListener(new OnRatingBarChangeListener(){
public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) {
if(fromUser){
Toast.makeText(ratingBar.getContext(),"Your Selected Ratings : " + String.valueOf(rating),Toast.LENGTH_LONG).show();
}
}
});
What I'm uncomfortable with is that I don't know if this is a hack, or if this is intended android process - my tabs are clearly being destroyed and rebuilt - is this for layout purposes or is my implementation flawed?
I'm struggling to understand best practice so please feel free to point out the 'right way' if this is not it.