我对使用java和所有内容进行编程都很陌生,并且看到是否有人可以帮助我。我试图这样做,以便它可以保存文件,然后能够打开它但我不能尝试运行应用程序,因为红线。任何人都可以帮助我找到正确的代码方式吗?谢谢
'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();
}
}'
}
答案 0 :(得分:1)
Edittext
不是方法,而是一个类。
EditText.setText(buf.toString());
这是错误的。阅读有关类和对象(类的实例)。您还没有告诉我们问题是什么,但我想您正试图在txtview
上设置文字。
第二个问题,因为您在txtView
中声明了onCreate()
,它只能在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());
由于您正在学习,您很快就会发现下一个问题。请问每个问题一个问题。