-2

I try to make a simple project which save words in the sdcard and load it on the textView but stuck with the error below.

Anyone, how to solve the problem ??

public class MainActivity extends AppCompatActivity {
EditText editText;
EditText editText2;
TextView textView;



@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);

    FloatingActionButton fab = (FloatingActionButton)   findViewById(R.id.fab);
    fab.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
                    .setAction("Action", null).show();
        }
    });

    editText = (EditText) findViewById(R.id.editText);
    editText = (EditText) findViewById(R.id.editText2);
    textView = (TextView) findViewById(R.id.textView);

}

public void onButton1Clicked(View v) {
    String input = editText.getText().toString();

    String filename = Environment.getExternalStorageDirectory().getAbsolutePath() + '/' + input;
    Toast.makeText(this, "Filename : " + filename, Toast.LENGTH_LONG).show();

    String contents = editText2.getText().toString();
    writeToFile(filename, contents);
}

public void onButton2Clicked(View v) {
    String input = editText.getText().toString();
    String filename = Environment.getExternalStorageDirectory().getAbsolutePath() + '/' + input;
    Toast.makeText(this, "Filename : " + filename, Toast.LENGTH_LONG).show();
    readFromFile(filename);
}

public void writeToFile(String filename, String contents) {

    File file = new File(filename);
    try {
        FileOutputStream fileStream = new FileOutputStream(file);
        DataOutputStream outStream = new DataOutputStream(fileStream);

        outStream.writeUTF(contents);
        outStream.flush();
        outStream.close();

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


}

public void readFromFile(String filename) {
    File file = new File(filename);

    try {
        FileInputStream fileStream = new FileInputStream(file);
        DataInputStream instream = new DataInputStream(fileStream);

        byte[] data = new byte[1024];
        int count = instream.read(data, 0, 1024);
        String line = new String(data, 0, count, "UTF8");

        textView.setText(line);
        instream.close();

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

}

manifests

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

=======================================

Error Message

05-23 12:04:44.421 27478-27478/? E/AndroidRuntime: FATAL EXCEPTION: main Process: truevision.com.myapplication, PID: 27478 java.lang.IllegalStateException: Could not execute method for android:onClick at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:293) at android.view.View.performClick(View.java:5697) at android.widget.TextView.performClick(TextView.java:10815) at android.view.View$PerformClick.run(View.java:22526) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:158) at android.app.ActivityThread.main(ActivityThread.java:7225) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120) Caused by: java.lang.reflect.InvocationTargetException at java.lang.reflect.Method.invoke(Native Method) at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:288) at android.view.View.performClick(View.java:5697)  at android.widget.TextView.performClick(TextView.java:10815)  at android.view.View$PerformClick.run(View.java:22526)  at android.os.Handler.handleCallback(Handler.java:739)  at android.os.Handler.dispatchMessage(Handler.java:95)  at android.os.Looper.loop(Looper.java:158)  at android.app.ActivityThread.main(ActivityThread.java:7225)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)  Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.text.Editable android.widget.EditText.getText()' on a null object reference at truevision.com.myapplication.MainActivity.onButton1Clicked(MainActivity.java:58) at java.lang.reflect.Method.invoke(Native Method)  at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:288)  at android.view.View.performClick(View.java:5697)  at android.widget.TextView.performClick(TextView.java:10815)  at android.view.View$PerformClick.run(View.java:22526)  at android.os.Handler.handleCallback(Handler.java:739)  at android.os.Handler.dispatchMessage(Handler.java:95)  at android.os.Looper.loop(Looper.java:158)  at android.app.ActivityThread.main(ActivityThread.java:7225)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120) 

AppFactory T
  • 1
  • 1
  • 5

1 Answers1

1
    EditText editText;
    EditText editText2;
    TextView textView;

     editText = (EditText) findViewById(R.id.editText);
     // here is issue editText = (EditText) findViewById(R.id.editText2);
     editText2 = (EditText) findViewById(R.id.editText2);
     textView = (TextView) findViewById(R.id.textView);
Sohail Zahid
  • 8,099
  • 2
  • 25
  • 41