在两个类java mobile之间传递id的问题

时间:2019-06-16 23:01:06

标签: java android mobile

我的班级检查表包含要由电工控制的点的检查表。如果某个点不符合规程,则视为不合格。当检查到异常的ID时,会将其发送到建议类,该类将读取此ID并从字符串数组中提取建议,以确定匹配的建议。问题是当我这样做时,它总是给出相同的默认建议

package com.example.checklistmakaudit;

import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.RadioButton;
import java.util.ArrayList;
import java.util.Arrays;

public class checklist1 extends AppCompatActivity{
    String[] items;
    ArrayList<String> listItems;
    ArrayAdapter<String> adapter;
    ListView listView,listView1;
    EditText editText;
    Button btn,btnn;
    Intent intent;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_checklist1);
        listView = (ListView) findViewById(R.id.listview);
        listView1 = (ListView) findViewById(R.id.listview1);
        editText = (EditText) findViewById(R.id.txtsearch);
        btn = (Button)findViewById(R.id.buttonb);
        btnn = (Button) findViewById(R.id.buttonbb);
        initList();

        editText.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
            }

            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {
                if (s.toString().equals("")){
                    initList();

                }else {

                    searchItem(s.toString());
                }
            }

            @Override
            public void afterTextChanged(Editable s) {

            }
        });

        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(checklist1.this, NouveauProjet.class);
                startActivity(intent);
            }
        });
        btnn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(checklist1.this, generation.class);
                startActivity(intent);
            }
        });
    }
    public void searchItem(String TextToSearch){
        for (String item:items){
            if (!item.contains(TextToSearch)){
                listItems.remove(item);
            }
        }
        adapter.notifyDataSetChanged();
    }
    public void initList(){
        items = new String[]{"Pancarte danger électrique sur la porte","Extincteur CO2 6kg",
                "La porte d’armoire fermée a serrure", "Etat des voyants", "Etat de l’armoire","Identification d’armoire"
                , "La porte arrière ","Dégagement de l’accès à la porte d’armoire","Etat de la manette de commutateur",
                "Respect de L’IP d’armoire","Présence d’orifice libre","Fixation d’armoire","Le shunt souple de continuité(la porte à la terre)",
                "Les conducteurs non utilisés","Schéma unifilaire BT","Présence de tube orange","Présence de barrette de terre",
                "Tous les PE sont branchés à la barrette de terre","Les PE sont dans les mêmes canalisations que les conducteurs",
                "Repérage des départs","Section différente sous mêmes protection","Présence des départs non protèges",
                "L’état de câblage","Protection des départs d’éclairage par différentiel de 300mA","Protection des départs prise par différentiel de 30mA",
                "Présence de multi piquage (plusieurs câbles par borne)","Présence de câble volatile (hors goulotte)",
                "Présence des caches goulottes","Surcharge des goulottes","L’état du chemin de câble","L’état des répartiteurs",
                "Repérage d’appareillage par des étiquettes durable","Réglementation des couleurs des câbles conformément à la norme"
                ,"Le raccordement des câbles par domino /ruban","Les protections contre les contacts directs (plexiglass)",
                "Utilisation des câble U500","Bruit anormal à l’appareillage d’armoire","Chemin de câble relié à la terre"};
        listItems = new ArrayList<>(Arrays.asList(items));
        adapter = new ArrayAdapter<String>(this, R.layout.activity_list_item, R.id.txtitem,listItems);
        listView.setAdapter(adapter);
        }

    public void buttonclicked(View view) {
        boolean checked = ((RadioButton)view).isChecked();
        switch (view.getId()){
            case R.id.radio1:
                if (checked) {
                    intent = new Intent(checklist1.this, Recommandations.class);
                    listView.setOnItemClickListener(new AdapterView.OnItemClickListener(){
                        @Override
                        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                            String item=(String)listView.getItemAtPosition(position);
                            int i = Integer.parseInt(item);
                            intent.putExtra("id",i);
                        }
                    });
                    startActivity(intent);
                }
                break;
            case R.id.radio2:
                if (checked)
                    break;
        }
    }
}


经典建议。java

package com.example.checklistmakaudit;

import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;
import java.util.ArrayList;
import java.util.Arrays;

public class Recommandations extends AppCompatActivity {
    String[] recommandations;
    ArrayList<String> listRecos;
    TextView recommandation;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_recommandations);
        recommandation = findViewById(R.id.textView11);
        recommandations = new String[]{"Absence de pancarte danger sur la porte d’armoire","Prévoir un extincteur CO2  6kg","Prévoir des serrures pour la fermeture de la porte d’armoire"
        ,"Changer les voyants non fonctionnels","-Prévoir le nettoyage de l’armoire\n -Procéder à l’oxydation de l’armoire"
        ,"Absence d’identification d’armoire","Absence de la porte arrière de l’armoire"
        ,"Dégager l’accès à la porte d’armoire","Changer la manette de commutateur","Respecter l’IP 2X",
        "Présence d’orifice libre","Prévoir la fixation d’armoire","Prévoir une tresse ou un vert-jaune pour la mise à la terre de la porte d’armoire"
        ,"Eliminer les conducteurs non utilisés","-Fournir un schéma électrique BT\n -Fournir un schéma électrique BT actualisé"
        ,"Procéder  l’obturation des tubes orange","Prévoir une barrette d’équipotentialité (barrette de terre)",
        "Lier les masses à la terre","Prévoir des PE dans les mêmes canalisations que les conducteurs",
        "Absence de repérage des départs","Adapter les sections des câbles aux protections",
        "Prévoir une protection du départ non protégé","Refaire le câblage de l’armoire",
         "Assurer une protection des départs d’éclairage par un disjoncteur différentiel de 300 mA",
        "Assurer une protection des départs prise de courant par un disjoncteur différentiel de 30 mA",
        "Eliminer les piquages non conforme","Eliminer les piquages non conforme","Prévoir des caches goulottes",
        "Procéder à la surcharge des goulottes","-Prévoir la fixation du chemin de câble\n-Procéder à la déformation du chemin de câble"
        ,"-Prévoir une protection contre le contact direct du répartiteur\n-Changer le répartiteur en mauvais état",
        "Prévoir le repérage des appareillages électriques par des étiquettes durables",
        "Respecter la réglementation des couleurs des câbles conformément aux normes en vigueur",
        "-Eviter le raccordement des câbles par rubans adhésifs\n-Eliminer les dominos",
        "Prévoir une  protection contre les contacts directs (plexiglass)","Utiliser des câbles U1000 au lieu des câbles U500"
        ,"Présence d’un bruit anormal au niveau de l’appareillage de l’armoire","Lier le chemin de câble à la terre"};
        listRecos = new ArrayList<>(Arrays.asList(recommandations));
        Intent intent = getIntent();
        int ii = intent.getIntExtra("id",0);
        recommandation.setText(listRecos.get(ii));
    }
}

错误

0 个答案:

没有答案