Problème de conception

Fermé
didierduro Messages postés 1 Date d'inscription dimanche 17 septembre 2017 Statut Membre Dernière intervention 17 septembre 2017 - Modifié le 17 sept. 2017 à 19:30
 didierduro - 18 sept. 2017 à 22:29
Bonjour,
je doit faire une application pour mon club afin de gérer les consommations de boissons sur une tablette. Je débute sur android.
Il faudrait indiquer la date (si possible afficher un calendrier en cliquant dessus)
cliquer sur le nom de la personne
cliquer sur un champ quantité consommée
et un champ quantité payée
avoir un bouton qui lorsque l'on clique dessus, les résultats s'enregistre dans un fichier
Voici le code que j'ai déjà réaliser :

activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.conso.MainActivity"
    android:weightSum="1">

    <TextView

        android:id="@+id/textView"
        android:layout_width="match_parent"
        android:layout_height="32dp"
        android:gravity="center"
        android:text="Date : "
        android:textColor="#FF0000"
        android:textStyle="bold"
        tools:ignore="HardcodedText,MissingConstraints,NestedWeights"
        tools:layout_editor_absoluteX="0dp"
        tools:layout_editor_absoluteY="0dp" />

    <EditText

        android:id="@+id/date"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="date"
        android:inputType="datetime"
        tools:ignore="HardcodedText,MissingConstraints"
        tools:layout_editor_absoluteX="67dp"
        tools:layout_editor_absoluteY="-5dp" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="100dp"
        android:orientation="horizontal"
        android:weightSum="1"
        tools:ignore="InefficientWeight,MissingConstraints"
        tools:layout_editor_absoluteX="0dp"
        tools:layout_editor_absoluteY="24dp">
    <TextView

        android:layout_width="252dp"
        android:layout_height="32dp"
        android:gravity="center"
        android:text="Joueur : "
        android:textColor="#FF0000"
        android:textStyle="bold"
        tools:ignore="HardcodedText,MissingConstraints,NestedWeights"
        tools:layout_editor_absoluteX="0dp"
        tools:layout_editor_absoluteY="0dp" />

    <Spinner
        android:id="@+id/joueur"
        android:layout_width="fill_parent"
        android:layout_height="39dp"
        android:hint="@string/joueur" />
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="100dp"
        android:orientation="horizontal"
        android:weightSum="1"
        tools:ignore="InefficientWeight,MissingConstraints"
        tools:layout_editor_absoluteX="0dp"
        tools:layout_editor_absoluteY="24dp">
    <TextView

        android:layout_width="252dp"
        android:layout_height="32dp"
        android:gravity="center"
        android:text="Quantité dûe: "
        android:textColor="#FF0000"
        android:textStyle="bold"
        tools:ignore="HardcodedText,MissingConstraints,NestedWeights"
        tools:layout_editor_absoluteX="0dp"
        tools:layout_editor_absoluteY="0dp" />

    <Spinner
        android:id="@+id/qtedue"
        android:layout_width="match_parent"
        android:layout_height="39dp"
        android:hint="@string/qtedue"/>
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="100dp"
        android:orientation="horizontal"
        android:weightSum="1"
        tools:ignore="InefficientWeight,MissingConstraints"
        tools:layout_editor_absoluteX="0dp"
        tools:layout_editor_absoluteY="24dp">
    <TextView

        android:layout_width="252dp"
        android:layout_height="32dp"
        android:gravity="center"
        android:text="Quantité payée : "
        android:textColor="#FF0000"
        android:textStyle="bold"
        tools:ignore="HardcodedText,MissingConstraints,NestedWeights"
        tools:layout_editor_absoluteX="0dp"
        tools:layout_editor_absoluteY="0dp" />

    <Spinner
        android:id="@+id/qtepayee"
        android:layout_width="match_parent"
        android:layout_height="39dp"
        android:hint="@string/qtepayee" />
    </LinearLayout>
    <!--<Button
        android:id="@+id/Valider"
        android:layout_width="fill_parent"
        android:layout_height="36dp"
        android:text="@string/valider" />

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="0.81">-->

    <TextView
        android:id="@+id/information"
        android:layout_width="105dp"
        android:layout_height="31dp"
        android:layout_gravity="center"
        android:layout_marginTop="12dp"
        android:text="@string/en_attente" />
    <!--</RelativeLayout>-->


</LinearLayout>

MainActivity.java
package com.conso;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.Spinner;
import android.widget.TextView;

import static android.R.layout.simple_spinner_item;

public class MainActivity extends AppCompatActivity {

    private Button active;
    private Spinner list = null;
    private Spinner list1 = null;
    private Spinner list2;
    private TextView text;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        final Spinner list = (Spinner) findViewById(R.id.joueur);
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, simple_spinner_item, JR);

        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

        list.setAdapter(adapter);
        list.setSelection(0);

        final Spinner list1 = (Spinner) findViewById(R.id.qtedue);
        ArrayAdapter<String> adapter1;
        adapter1 = new ArrayAdapter<String>(this, simple_spinner_item, DD);

        adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

        list1.setAdapter(adapter1);

        /*final Spinner list2 = (Spinner) findViewById(R.id.qtepayee);
        ArrayAdapter<String> adapter2;
        adapter2 = new ArrayAdapter<String>(this, simple_spinner_item, DP);

        adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

        list.setAdapter(adapter2);*/


        /*final Button active = (Button) findViewById(R.id.valider);
        active.setOnClickListener(new Button.OnClickListener() {
            public void onClick(View v) {
                Option();
            }
        });*/

    }

    static final String[] JR = new String[]{"alphonse","didier","rené"
    };

    static final String[] DD = new String[]{"1","2","3","4","5"
    };

    /*static final String[] DP = new String[]{"1","2","3","4","5"
    };*/

    /*private void Option() {
        Button active = (Button) findViewById(R.id.valider);
        if (active != null) {
            Spinner list = (Spinner) findViewById(R.id.joueur);
            TextView text = (TextView) findViewById(R.id.information);
            if ((list != null) || list.isEnabled()) {
                list.setEnabled(true);
                active.setText("Valider");
                text.setText("En attente");
            } else {
                switch (list.getSelectedItemPosition()) {
                    case 0:
                        text.setText("Android");
                        break;
                    case 1:
                        text.setText("BlackBerry");
                        break;
                    case 2:
                        text.setText("Firefox");
                        break;
                    case 3:
                        text.setText("iOS");
                        break;
                    case 4:
                        text.setText("Ubuntu");
                        break;
                    case 5:
                        text.setText("Windows");
                        break;
                }
                list.setEnabled(false);
                active.setText(R.string.OK);


            }
        }

    }*/
}

Mes problèmes sont les suivants:
si j'active les 3 listes, lorsque je lance l'émulateur, la deuxième liste s'affiche dans la première et la 3ème dans la deuxième et il n'y a rien dans la 3ème.
si j'active le bouton, l'application plante

Quelqu'un pourrait-il m'aider svp?

2 réponses

BunoCS Messages postés 15495 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 octobre 2024 3 909
18 sept. 2017 à 11:37
Hello,

Je n'ai pas tout regarder mais tu as des redéfinitions de variables:
list
et
list1
.
Ensuite, dans le code commenté, tu branche l'
adapter2
sur
list
.

0
Bonjour,
merci pour ces informations. Je vais continuer mes recherches.
0