LoginSignup
0
0

More than 5 years have passed since last update.

Androidアプリが落ちてしまいます。ボタンをクリックするだけで落ちます。

Posted at

このようなエラーが出ます。
どこがおかしいのでしょうか。

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

以下がコードとなっています。

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);
        }
    });


}


// ファイルを読み出し
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;
}

}

0
0
5

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0