2015-02-11 54 views
-6

我有點新來用java編程和一切,並看到有沒有人可以幫助我這個。我試圖做到這一點,以便它可以保存一個文件,然後能夠打開它,但我不能嘗試和運行的應用程序,因爲紅線。任何人都可以幫我用正確的代碼去?由於使用EditText方法和它可以做什麼

'public class Documents extends Activity { 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.documents); 
    EditText txtView=(EditText)findViewById(R.id.textbox); 
} 
public void saveClicked(View v) { 
    try { 
     OutputStreamWriter out = 
     new OutputStreamWriter(openFileOutput(STORETEXT, 0)); 
     out.write(EditText.gettext.toString()); 
     out.close(); 
     Toast.makeText(this, "The contents are saved in the file.", Toast.LENGTH_LONG).show(); 

    }catch (Throwable t) { 
     Toast.makeText(this, "Exception: "+t.toString(), Toast.LENGTH_LONG).show(); 
    } 
} 
private final static String STORETEXT="storetext.txt"; 

public void readFileInEditor(){ 
    try{ 
     InputStream in=openFileInput(STORETEXT); 
     if (in !=null){ 
      InputStreamReader tmp=new InputStreamReader(in); 
      BufferedReader reader=new BufferedReader(tmp); 
      String str; 
      StringBuilder buf=new StringBuilder(); 
      while ((str=reader.readLine()) !=null){ 
       buf.append(str+"n"); 
      } 
      in.close(); 
      EditText.setText(buf.toString()); 
     } 
    }catch (FileNotFoundException e) { 
     // that's OK, we probably haven't created it yet 
    }catch (Throwable t){ 
     Toast.makeText(this, "Exception: "+t.toString(), Toast.LENGTH_LONG).show(); 
    } 
}' 

}

+1

嘗試調試或打印變量以查看代碼中的哪個點停止執行它應該執行的操作。 – 2015-02-11 20:11:00

+0

你有什麼問題? – JNYRanger 2015-02-11 20:11:48

+0

他正在嘗試使用他的應用程序並將數據保存到文本文件,並使用該應用程序從文本文件中讀取 – 2015-02-11 20:15:04

回答

1

Edittext不是方法,它是一類。

EditText.setText(buf.toString());

這是不對的。閱讀關於類和對象(類的實例)。你沒有告訴我們問題是什麼,但我想你正試圖設置txtview上的文字。

第二個問題,由於您在onCreate()中聲明txtView,因此只能在onCreate()中看到。嘗試將其移至班級領域。

public class Documents extends Activity { 

    EditText txtView; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.documents); 
     txtView=(EditText)findViewById(R.id.textbox); 
    } 

然後在readFileInEditor(其中的方法)

txtView.setText(buf.toString()); 

既然你學習,你很快就會發現你的下一個問題。請每個問題一個問題。

+0

好吧我修正了,但然後在這行代碼'out.write(EditText.gettext.toString());'' gettext變成紅色,我該如何解決這個問題? – Josh 2015-02-12 21:53:19

+0

2件事。請爲每個帖子提出一個問題,並且「EditText.getText()」不存在。你真的需要了解一個類和一個對象之間的區別。 'getText()'是'EditText'的一個對象(實例)的一個方法。它不是'EditText'的靜態方法。如果這是你想要做的,你可以使用'txtView.getText()'。真的,在你理解這些基本概念之前,你不會成功構建一個應用程序。由於這個答案解決了最初的問題,請接受它併爲此問題開始一個新問題。 – Simon 2015-02-13 11:46:15

相關問題