ArisanForm icon indicating copy to clipboard operation
ArisanForm copied to clipboard

Two Spinner on a form

Open keldorn83 opened this issue 4 years ago • 0 comments

Hello i have a problem when i use two spinner on a form.

My model :

class AnomalyData {

    @Form(type = Form.SPINNER, position = 1)
    private val origine: String? = null

    @Form(type = Form.SPINNER, position = 2)
    private val emplacement: String? = null

    @Form(type = Form.IMAGE, position = 3)
    private val photo: String? = null

    @Form(position = 4)
    private val commentaire: String? = null

    companion object {
        var FIELD_ORIGIN = "origine"
        var FIELD_CATEGORY = "emplacement"

My Activity :

private fun setUpForm() {
        form.setModels(AnomalyData())
        form.fillData(AnomalyData.FIELD_ORIGIN, AnomalyData.initOrigin())
        form.fillData(AnomalyData.FIELD_CATEGORY, AnomalyData.initSubSecurityOrigin())

        form.addListener(AnomalyData.FIELD_ORIGIN) { value, adapter ->
            when (value) {
                AnomalyData.ORIGIN_SECURITY -> {
                    adapter.updateData(
                            AnomalyData.FIELD_CATEGORY, AnomalyData.initSubSecurityOrigin())
                }
                AnomalyData.ORIGIN_BODY -> {
                    adapter.updateData(
                            AnomalyData.FIELD_CATEGORY, AnomalyData.initSubBodyOrigin())
                }
                AnomalyData.ORIGIN_CLEANLINESS -> {
                    adapter.updateData(
                            AnomalyData.FIELD_CATEGORY, AnomalyData.initSubCleanlinessOrigin())
                }
                AnomalyData.ORIGIN_ADMINISTRATIVE -> {
                    adapter.updateData(
                            AnomalyData.FIELD_CATEGORY, AnomalyData.initSubAdministrativeOrigin())
                }
                else -> {
                    adapter.updateData(
                            AnomalyData.FIELD_CATEGORY, AnomalyData.initSubEventsToReportOrigin())
                }
            }
        }

        form.buildForm()
    }

I have this error :

java.lang.NullPointerException: Attempt to invoke interface method 'void com.github.arisan.ArisanListener$OnCondition.onValue(java.lang.String, com.github.arisan.adapter.FormAdapter)' on a null object reference

When i use CheckBox instead of Spinner for the second element in my Model, i don't have any problem.

Can you help me please ?

keldorn83 avatar Apr 27 '20 19:04 keldorn83