[JAVA] L'application Android plante. Cliquez simplement sur un bouton et il tombera.

J'obtiens une erreur comme celle-ci. Qu'est-ce qui ne va pas?

java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference

Ci-dessous le code.

package com.example.tokoroshingo.myapplication;

import android.content.Intent; import android.content.res.Resources; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.content.Context; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView;

import java.io.BufferedReader; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader;

public class FileActivity1 extends AppCompatActivity {

private TextView textView;
private EditText editText;
private String fileName[] = new String[15] ;
private int i;
private Button buttonRead[] = new Button[15];

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

    textView = findViewById(R.id.text_view);


    for(i=0; i<15; i++){
        fileName[i] = "CH1_"+i+1+".txt";
        int viewId;
        String resViewName;
        resViewName = "button_ch" + i+1;
        viewId = getResources().getIdentifier(resViewName, "id", getPackageName());
        buttonRead[i] = findViewById(viewId);
        buttonRead[i].setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String str = readFile(fileName[i]);
                if (str != null) {
                    textView.setText(str);
                } else {
                    textView.setText(R.string.read_error);
                }
                TextView textReceive1 = (TextView) findViewById(R.id.text_view1);
                textReceive1.setText("CH"+ i);
            }
        });

    }


    //  editText = findViewById(R.id.edit_text);



    Button return_file_Button1 = findViewById(R.id.return_file_button1);
    return_file_Button1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(getApplication(), SubActivity5.class);
            startActivity(intent);
        }
    });


}

// lire le fichier public String readFile(String file) { String text = null;

    try {
        FileInputStream in = openFileInput(file);
        BufferedReader reader = new BufferedReader(new InputStreamReader(in, "UTF-8"));
        String str = "";
        String tmp;
        while ((tmp = reader.readLine()) != null) {
            str = str + tmp + "\n";
        }
        text = str;
        reader.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
    return text;
}

}

Recommended Posts

L'application Android plante. Cliquez simplement sur un bouton et il tombera.
Cliquez sur le bouton [rails] pour créer un mot de passe alphanumérique aléatoire et entrez-le dans le champ de mot de passe
Obtenez des informations vidéo YouTube avec Retrofit et conservez-les dans l'application Android.
21 Lire et exécuter le script à partir du fichier
Application Android qui sélectionne et affiche des images de la galerie
Ajouter une ombre au bouton Swift (et aussi au cercle)
[Android] Modifiez le nom de l'application et l'icône de l'application pour chaque saveur
J'ai ouvert la barre de menu (menu d'options) sur Android et l'ai vue.
Android Studio montre deux méthodes qui n'ont qu'un seul bouton onClick, Java lève une exception et ruine l'application