Closed mamingjojo closed 4 years ago
Sorry to bother you. I already found what is wrong with my code. Its obviously in the SpinnerFragment.
I have to put the inflated layout view first in the onCreateView then call findViewById for my lucky wheel in the fragment_spinner.xml to avoid the null exception
Hi,
Good day! hope you are doing well at this moment. Just so you know I am new to android development.
I'm not really sure of this is an issue or I am just missing something on my code. Would you mind taking a look of this?
Here is my MainActivity:
package com.example.foodpicker
import androidx.appcompat.app.AppCompatActivity import android.os.Bundle
class MainActivity : AppCompatActivity() {
}
activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity">
</androidx.constraintlayout.widget.ConstraintLayout>
SpinnerFragment package com.example.foodpicker
import android.graphics.BitmapFactory import android.graphics.Color import android.os.Bundle import androidx.fragment.app.Fragment import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import com.bluehomestudio.luckywheel.LuckyWheel import com.bluehomestudio.luckywheel.WheelItem
import kotlinx.android.synthetic.main.fragment_spinner.*
/**
A simple [Fragment] subclass. */ class SpinnerFragment : Fragment() {
override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View { // Inflate the layout for this fragment return inflater.inflate(R.layout.fragment_spinner, container, false)
}
}
frament_spinner.xml <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".SpinnerFragment">
And after doing those code I was stuck on this failure:
2020-05-20 16:39:46.751 9412-9412/com.example.foodpicker E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.foodpicker, PID: 9412 java.lang.NullPointerException: Attempt to invoke interface method 'int java.util.List.size()' on a null object reference at com.bluehomestudio.luckywheel.WheelView.onDraw(WheelView.java:232) at android.view.View.draw(View.java:21594) at android.view.View.updateDisplayListIfDirty(View.java:20471) at android.view.View.draw(View.java:21326) at android.view.ViewGroup.drawChild(ViewGroup.java:4413) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4174) at android.view.View.updateDisplayListIfDirty(View.java:20462) at android.view.View.draw(View.java:21326) at android.view.ViewGroup.drawChild(ViewGroup.java:4413) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4174) at android.view.View.updateDisplayListIfDirty(View.java:20462) at android.view.View.draw(View.java:21326) at android.view.ViewGroup.drawChild(ViewGroup.java:4413) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4174) at android.view.View.updateDisplayListIfDirty(View.java:20462) at android.view.View.draw(View.java:21326) at android.view.ViewGroup.drawChild(ViewGroup.java:4413) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4174) at android.view.View.updateDisplayListIfDirty(View.java:20462) at android.view.View.draw(View.java:21326) at android.view.ViewGroup.drawChild(ViewGroup.java:4413) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4174) at androidx.constraintlayout.widget.ConstraintLayout.dispatchDraw(ConstraintLayout.java:2023) at android.view.View.updateDisplayListIfDirty(View.java:20462) at android.view.View.draw(View.java:21326) at android.view.ViewGroup.drawChild(ViewGroup.java:4413) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4174) at android.view.View.updateDisplayListIfDirty(View.java:20462) at android.view.View.draw(View.java:21326) at android.view.ViewGroup.drawChild(ViewGroup.java:4413) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4174) at android.view.View.updateDisplayListIfDirty(View.java:20462) at android.view.View.draw(View.java:21326) at android.view.ViewGroup.drawChild(ViewGroup.java:4413) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4174) at android.view.View.updateDisplayListIfDirty(View.java:20462) at android.view.View.draw(View.java:21326) at android.view.ViewGroup.drawChild(ViewGroup.java:4413) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4174) at android.view.View.updateDisplayListIfDirty(View.java:20462) at android.view.View.draw(View.java:21326) at android.view.ViewGroup.drawChild(ViewGroup.java:4413) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4174) at android.view.View.draw(View.java:21597) at com.android.internal.policy.DecorView.draw(DecorView.java:815) at android.view.View.updateDisplayListIfDirty(View.java:20471) at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:580) at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:586) at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:659) at android.view.ViewRootImpl.draw(ViewRootImpl.java:3871) at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:3671) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2993) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1930) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7988) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1154) at android.view.Choreographer.doCallbacks(Choreographer.java:977) at android.view.Choreographer.doFrame(Choreographer.java:893) at android.view.Choreographer$FrameHandler.handleMessage(Choreographer.java:1082) at android.os.Handler.dispatchMessage(Handler.java:107) at android.os.Looper.loop(Looper.java:214) at android.app.ActivityThread.main(ActivityThread.java:7682) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:516)
Your help will be greatly appreciated!
Thanks!