简体   繁体   中英

Save EditText to file with Button - Android, Java

I have an EditText in which the user inputs their name, then i want to push a button and the content of the EditText is transferred into a file.

EDITED : I have this code so far:

Button submitButton = (Button) findViewById(R.id.baddNametoFile);
        submitButton.setOnClickListener(new View.OnClickListener()

        {
            public void onClick(View v)
            {

                try{ 
                    ETName.getText().toString();

                    PrintWriter writer = new PrintWriter(new BufferedWriter(

                        new FileWriter("/sdcard/Accelerometer.html", true)));
                writer.println("<h3 style=padding-left:20px;>" + ETName
                        + "</h3><br>");
                // new arraylist
                writer.close();

                }catch (IOException e) {
                    // put notification here later!!!
                    e.printStackTrace(); }
            }

        });

I have it printing to the file what the actual android value is:

android.widget.Button{......./baddNametoFile}

But that is just a placeholder to know the print works. I would like to see what the user has typed printed there instead.

Any help would be great. Thanks

ETName is probably EditText. You didnt post to much code so it should be like: ETName.getText().toString(); Change View ETName in View v (it is click on a button not on a EditText). Lets try like this:

     @Override
                    public void onClick(View v) {
                        // TODO Auto-generated method stub
                        try{   
    String etName =  ETName.getText().toString();
if(!etName.trim().equals("")){
                            File file =new File("/sdcard/Accelerometer.html");

                            //if file doesnt exists, then create it
                            if(!file.exists()){
                                file.createNewFile();
                            }


                            FileWriter fileWritter = new FileWriter(file.getName(),true);
                                BufferedWriter bufferWritter = new BufferedWriter(fileWritter);
                                bufferWritter.write(etName);
                                bufferWritter.close();
                } 
                        }catch (IOException e) {

                            e.printStackTrace(); }


                    }
 try{

    File dir = new File("/mnt/sdcard/MyApp/");

    if (!dir.exists()) {
        dir.mkdir();
         System.out.println("Directory created");
      } 
    //ceate .rtf file with header
    myFile = new File("/mnt/sdcard/MyApp/Student.rtf");

    if (!myFile.exists()) {
        myFile.createNewFile();
        System.out.println("File created");
    }

    fOut = new FileOutputStream(myFile.getAbsoluteFile(),true);
    myOutWriter = new OutputStreamWriter(fOut);

    //Write the header : in your case it is : Student class Marsk (only one time)
    myOutWriter.write("Student,class,Marks"+"\n");
    myOutWriter.flush();

   }catch (Exception e) {
    // TODO: handle exception
    e.printStackTrace();
    }

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM