Skip to content

Instantly share code, notes, and snippets.

@funrep
Last active June 4, 2017 19:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save funrep/1ab655a69058f993d2237f8dfe64bf61 to your computer and use it in GitHub Desktop.
Save funrep/1ab655a69058f993d2237f8dfe64bf61 to your computer and use it in GitHub Desktop.
package com.example.animalcontrol
import android.app.Fragment
import android.content.Context
import android.net.Uri
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.ListView
import com.example.animalcontrol.Adapters.DeliveriesAdapter
import com.example.animalcontrol.Models.Delivery
import java.util.ArrayList
/**
* A simple [Fragment] subclass.
* Activities that contain this fragment must implement the
* [DeliveryListFragment.OnFragmentInteractionListener] interface
* to handle interaction events.
* Use the [DeliveryListFragment.newInstance] factory method to
* create an instance of this fragment.
*/
class DeliveryListFragment : Fragment() {
private var deliveries: ArrayList<Delivery>? = null
// TODO: Rename and change types of parameters
private var mParam1: String? = null
private var mParam2: String? = null
private var mListener: OnFragmentInteractionListener? = null
override fun onCreate(savedInstanceState: Bundle?) {
if (savedInstanceState == null) {
super.onCreate(Bundle())
} else {
super.onCreate(savedInstanceState)
}
if (arguments != null) {
mParam1 = arguments?.getString(ARG_PARAM1)
mParam2 = arguments?.getString(ARG_PARAM2)
}
}
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle): View? {
// Inflate the layout for this fragment
val view = inflater.inflate(R.layout.fragment_delivery_list, container, false)
listView = view.findViewById(R.id.dlfListView) as ListView
deliveries = ArrayList<Delivery>()
deliveries!!.add(Delivery("Test1"))
deliveries!!.add(Delivery("Test2"))
val deliveriesAdapter = DeliveriesAdapter(this.context, R.layout.fragment_delivery_list, deliveries as ArrayList<Delivery>, mListener!!)
listView!!.adapter = deliveriesAdapter
return view
}
// TODO: Rename method, update argument and hook method into UI event
fun onButtonPressed(uri: Uri) {
if (mListener != null) {
}
}
override fun onAttach(context: Context) {
super.onAttach(context)
if (context is OnFragmentInteractionListener) {
mListener = context
} else {
throw RuntimeException(context.toString() + " must implement OnFragmentInteractionListener")
}
}
override fun onDetach() {
super.onDetach()
mListener = null
}
/**
* This interface must be implemented by activities that contain this
* fragment to allow an interaction in this fragment to be communicated
* to the activity and potentially other fragments contained in that
* activity.
*
*
* See the Android Training lesson [Communicating with Other Fragments](http://developer.android.com/training/basics/fragments/communicating.html) for more information.
*/
interface OnFragmentInteractionListener {
// TODO: Update argument type and name
fun onFragmentInteraction(delivery: Delivery)
}
companion object {
// TODO: Rename parameter arguments, choose names that match
// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
private val ARG_PARAM1 = "param1"
private val ARG_PARAM2 = "param2"
private var listView: ListView? = null
/**
* Use this factory method to create a new instance of
* this fragment using the provided parameters.
* @param param1 Parameter 1.
* *
* @param param2 Parameter 2.
* *
* @return A new instance of fragment DeliveryListFragment.
*/
// TODO: Rename and change types and number of parameters
fun newInstance(param1: String, param2: String): DeliveryListFragment {
val fragment = DeliveryListFragment()
val args = Bundle()
args.putString(ARG_PARAM1, param1)
args.putString(ARG_PARAM2, param2)
fragment.arguments = args
return fragment
}
}
}/
@funrep
Copy link
Author

funrep commented Jun 4, 2017

                                                                           Process: com.example.animalcontrol, PID: 32661
                                                                           java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.animalcontrol/com.example.animalcontrol.MainActivity}: java.lang.IllegalArgumentException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter savedInstanceState
                                                                               at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2665)
                                                                               at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726)
                                                                               at android.app.ActivityThread.-wrap12(ActivityThread.java)
                                                                               at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477)
                                                                               at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                               at android.os.Looper.loop(Looper.java:154)
                                                                               at android.app.ActivityThread.main(ActivityThread.java:6119)
                                                                               at java.lang.reflect.Method.invoke(Native Method)
                                                                               at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
                                                                               at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
                                                                            Caused by: java.lang.IllegalArgumentException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter savedInstanceState
                                                                               at com.example.animalcontrol.DeliveryListFragment.onCreateView(DeliveryListFragment.kt)
                                                                               at android.app.Fragment.performCreateView(Fragment.java:2353)
                                                                               at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:995)
                                                                               at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1171)
                                                                               at android.app.BackStackRecord.run(BackStackRecord.java:816)
                                                                               at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1578)
                                                                               at android.app.FragmentController.execPendingActions(FragmentController.java:371)
                                                                               at android.app.Activity.performStart(Activity.java:6695)
                                                                               at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2628)
                                                                               at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726) 
                                                                               at android.app.ActivityThread.-wrap12(ActivityThread.java) 
                                                                               at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477) 
                                                                               at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                                               at android.os.Looper.loop(Looper.java:154) 
                                                                               at android.app.ActivityThread.main(ActivityThread.java:6119) 
                                                                               at java.lang.reflect.Method.invoke(Native Method) 
                                                                               at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886) 
                                                                               at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776) ```

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment