comment définir un élément de liste de valeurs dans la classe d'adaptateur et obtenir une valeur sur Button Click dans Android

Recherche & Développement

Classe d'adaptateur:

public List<TSPDataModel> employeeData;
    private Context mContext;
    private LayoutInflater mInflater;
    RadioGroup radiogroupbutton;
    String[] data = {"Document not clear","Adress is not Visibile","Photo is not pasted","Signature is not Avilable"};
    String   value;
    public TSPListDocumentadapter(Context context, int textViewResourceId,
                                  List<TSPDataModel> objects)

    {
        this.employeeData = objects;
        this.mContext = context;
        mInflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    }

    @Override
    public View getView(final int position, View convertView, ViewGroup parent) {
        final ViewHolder holder;

        if (convertView == null) {
            holder = new ViewHolder();
            convertView = mInflater.inflate(R.layout.tspdocumentlistitem, null);
            holder.relatvie1=(RelativeLayout)convertView.findViewById(R.id.relatvie1);
            holder.txtName = (TextView) convertView.findViewById(R.id.textView1);
            holder.accecpt = (ImageView) convertView.findViewById(R.id.imageButton);
            holder.reject = (ImageView) convertView.findViewById(R.id.imageButton2);
            holder.statustextview = (TextView) convertView.findViewById(R.id.statustextview);
            holder.poaedittext=(TextView) convertView.findViewById(R.id.poieditext);
           holder.poaedittext=(TextView)convertView.findViewById(R.id.poaedittext);
            convertView.setTag(holder);
        } else {
            holder = (ViewHolder) convertView.getTag();
        }
        holder.txtName.setText(employeeData.get(position).getName());
        holder.poaedittext.setText(employeeData.get(position).getPoa());

        holder.accecpt.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                holder.statustextview.setText("Accepted");

                employeeData.get(position).setSelected(true);
                employeeData.get(position).getOrderId();
                holder.relatvie1.setBackgroundResource(R.color.acceptedcolor);

            }
        });

        holder.reject.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                showdilog();
                holder.statustextview.setText("Rejected");
                employeeData.get(position).setSelected(false);
                employeeData.get(position).setReasone(value);
                holder.relatvie1.setBackgroundResource(R.color.rejectcolor);
            }
        });


        return convertView;
    }

    static class ViewHolder {
        TextView txtName;
        ImageView reject;
        ImageView accecpt;
        TextView statustextview;
        TextView poiedittext;
        TextView poaedittext;
        RelativeLayout relatvie1;
    }

    public int getCount() {
        return employeeData.size();
    }

    public TSPDataModel getItem(int position) {
        return employeeData.get(position);
    }

    public long getItemId(int position) {
        return 0;
    }


    public void showdilog() {
        final Dialog dialog = new Dialog(mContext);
        dialog.setContentView(R.layout.layoutpopup);
        radiogroupbutton = (RadioGroup) dialog.findViewById(R.id.radio_gp_day);
        ListView listview = (ListView) dialog.findViewById(R.id.radio_slot_list);
        Button setbutton = (Button) dialog.findViewById(R.id.setbutton);
        List<String> list = new ArrayList<String>();
        ArrayAdapter<String> myadpter = new ArrayAdapter<String>(mContext, android.R.layout.simple_list_item_single_choice, data);
        for (int i = 0; i < data.length; i++) {
            list.add(data[i]);
        }
        listview.setAdapter(myadpter);
        listview.setItemsCanFocus(false);
        listview.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
        listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                value = data[position];
                Toast.makeText(mContext, value, Toast.LENGTH_LONG).show();
            }
        });
        setbutton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Toast.makeText(mContext, value, Toast.LENGTH_LONG).show();
                dialog.dismiss();


            }
        });

        dialog.show();
    }

Ce bouton clique dans ma classe d'actvity:

    @Override
    public void onClick(View view) {
        if (view.getId() == R.id.button1) {
            try {

                List<TSPDataModel> empData = adapter.employeeData;
                System.out.println("Total Size :" + empData.size());

                for (TSPDataModel employeeModel : empData) {
                    if (employeeModel.isSelected()) {
              Toast.makeText(TSPDocumentListActvity.this, employeeModel.getName(), Toast.LENGTH_LONG).show();
                    } else {

String Reasonse=   employeeModel.getresonse() ;                

                        Toast.makeText(TSPDocumentListActvity.this, "false" + employeeModel.getName(), Toast.LENGTH_LONG).show();
                    }
                }


            } catch (Exception e) {
                e.printStackTrace();
            }

        }
    }

D'abord, j'imprime les données dans Listview, puis chaque élément de vue de liste il y a Accepter et rejeter Le bouton est là lorsque nous cliquons sur Accepter, aucune alerte ne sera demandée, seulement la raison du bouton de rejet demandera qui est venu sur l'élément de liste sur la fenêtre contextuelle Je veux obtenir la raison sélectionnée Cliquez sur le bouton dans actvity mais j'obtiens toujours une valeur nulle, aidez-moi là où je me trompe

H Raval

changez votre bouton de rejet et le code showDialog en

holder.reject.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                showdilog(position);
                holder.statustextview.setText("Rejected");
                holder.relatvie1.setBackgroundResource(R.color.rejectcolor);
            }
        });

et showDualog à

public void showdilog(int list_position) {
        final Dialog dialog = new Dialog(mContext);
        dialog.setContentView(R.layout.layoutpopup);
        radiogroupbutton = (RadioGroup) dialog.findViewById(R.id.radio_gp_day);
        ListView listview = (ListView) dialog.findViewById(R.id.radio_slot_list);
        Button setbutton = (Button) dialog.findViewById(R.id.setbutton);
        List<String> list = new ArrayList<String>();
        ArrayAdapter<String> myadpter = new ArrayAdapter<String>(mContext, android.R.layout.simple_list_item_single_choice, data);
        for (int i = 0; i < data.length; i++) {
            list.add(data[i]);
        }
        listview.setAdapter(myadpter);
        listview.setItemsCanFocus(false);
        listview.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
        listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                value = data[position];
                employeeData.get(list_position).setSelected(false);
                employeeData.get(list_position).setReasone(value);
                Toast.makeText(mContext, value, Toast.LENGTH_LONG).show();
            }
        });
        setbutton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Toast.makeText(mContext, value, Toast.LENGTH_LONG).show();
                dialog.dismiss();


            }
        });

        dialog.show();
    }

Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.

En cas d'infraction, veuillez [email protected] Supprimer.

modifier le
0

laisse moi dire quelques mots

0commentaires
connexionAprès avoir participé à la revue

Articles connexes

TOP liste

  1. 1

    Microsoft.WebApplication.targets

  2. 2

    Exporter la table de l'arborescence vers CSV avec mise en forme

  3. 3

    Spring @RequestParam DateTime format comme ISO 8601 Date Heure facultative

  4. 4

    Comment analyser un hachage Ruby plat en un hachage imbriqué?

  5. 5

    Passer la taille d'un tableau 2D à une fonction ?

  6. 6

    Comment créer une nouvelle application dans Dropbox avec des autorisations complètes

  7. 7

    Algorithme: diviser de manière optimale une chaîne en 3 sous-chaînes

  8. 8

    Laravel SQLSTATE [HY000] [1049] Base de données inconnue 'previous_db_name'

  9. 9

    comment supprimer "compte de connexion google" à des fins de développement - actions sur google

  10. 10

    php ajouter et fusionner des données de deux tables

  11. 11

    Créer un système Buzzer à l'aide de python

  12. 12

    Existe-t-il un moyen de voir si mon bot est hors ligne ?

  13. 13

    Comment changer la couleur de la police dans R?

  14. 14

    Déplacement des moindres carrés d'ajustement pour les déplacements de points ayant des problèmes

  15. 15

    impossible d'obtenir l'image d'arrière-plan en plein écran dans reactjs

  16. 16

    Comment vérifier si un utilisateur spécifique a un rôle? Discord js

  17. 17

    comment afficher un bouton au-dessus d'un autre élément ?

  18. 18

    Comment choisir le nombre de fragments et de répliques Elasticsearch

  19. 19

    Comment ajouter une entrée à une table de base de données pour une combinaison de deux tables

  20. 20

    optimiser les opérations du serveur avec elasticsearch: traitement des filigranes de disque bas

  21. 21

    Comment analyser un fichier avec un tableau d'objets JSON en utilisant Node.js?

chaudétiquette

Archive