Closed ghost closed 5 years ago
Are you sure it is null pointer? or IndexOutOfBounds exception
Can you post the stackTrace of the error too?
I guess mTouchPoints should be 5 (smilies) but it contains 0 because they were never created. I think. Here is the stacktrace --------- beginning of crash 09-16 08:35:36.497 3992-3992/com.update.update E/AndroidRuntime: FATAL EXCEPTION: main Process: com.update.update, PID: 3992 java.lang.NullPointerException: Attempt to read from field 'float com.hsalf.smilerating.BaseRating$Point.x' on a null object reference at com.hsalf.smilerating.SmileRating$2.onAnimationStart(SmileRating.java:194) at android.animation.ValueAnimator.notifyStartListeners(ValueAnimator.java:1048) at android.animation.ValueAnimator.start(ValueAnimator.java:1110) at android.animation.ValueAnimator.start(ValueAnimator.java:1117) at com.hsalf.smilerating.SmileRating.setSelectedSmile(SmileRating.java:565) at com.hsalf.smilerating.SmileRating.setSelectedSmile(SmileRating.java:545) at com.update.update.DateRatingAdapter.onBindViewHolder(DateRatingAdapter.java:49) -> holder.srRating.setSelectedSmile(5,true);
I hope the above will be enough but if you need more info from me, let me know
I got the same error
@LeooonH It seems that we're the only ones to get this error... I wonder what the problem is. Waiting for @sujithkanna response.
Hi all, I want to ask why when I set true for the animation it gives me java.lang.NullPointerException: Attempt to read from field 'float com.hsalf.smilerating.BaseRating$Point.x' on a null object reference
My code (simplyfied):
public class scoreActivity extends AppCompatActivity{
SmileRating smileRating;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.score_layout);
smileRating = (SmileRating) findViewById(R.id.smile_rating);
smileRating.setIndicator(true);
// this works
smileRating.setSelectedSmile(BaseRating.TERRIBLE);
// this one doesn't works
// smileRating.setSelectedSmile(BaseRating.TERRIBLE,true);
}
What am I doing wrong?
Thank you for your AWESOME work! :D
It is because the view is not inflated yet fully, so try posting it using runnable.
smileyRating.post(new Runnable() {
@Override
public void run() {
smileRating.setSelectedSmile(BaseRating.TERRIBLE,true);
}
});
Can you try this?
Thank you :D
solution by @sujithkanna works! same problem with animate and the snippet works fine
Your work is awsome! but now I need to make it work :) I follow the 3 steps in the usage part and I see the smilies in the designer preview. I did the following in an adapter: RatingViewHolder(View itemView) { super(itemView); srRating = (SmileRating) itemView.findViewById(R.id.smile_rating); srRating.setIndicator(true); //<< srRating is not null and this line works }
@override public void onBindViewHolder(final RatingViewHolder holder, int position) { Rating theRating = RatingList.get(position); holder.srRating.setSelectedSmile(5,true); << fails* }
Please advice, it seems that this is working for everyone so I wonder if I miss something Thanks