我已经定义了一个简单的Toast
,它将显示" log added"何时写入文件。其余代码只是将EditText内容写入名为log.txt的文件的其余方法。
我使用getActivityContext()
,this
和MainActivity
作为context
参数,试图让它发挥作用。但由于某种原因,它仍然没有。我已导入正确的类,我已检查manifest
,但MainActivity
已正确声明。我已经搜索了这个问题的答案很长一段时间,因为我知道它会被视为一个新手问题。但是从来没有那么好,得到答案会很好:)
//SEND ARRIVAL TIME
public void sendArrTime(View view) {
btnArr = (Button) findViewById(R.id.btnArr);
btnArr.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
//Opens log.txt
OutputStreamWriter out = new OutputStreamWriter(openFileOutput("arrlog.txt", MODE_APPEND));
//Writes contents to file
etArr = (EditText) findViewById(R.id.etArr);
String text = etArr.getText().toString();
out.write(text);
out.write('\n');
//close file
out.close();
//Confirmation Toast
Toast toast = Toast.makeText(this, "Log added", 3).show();
}
}
);
答案 0 :(得分:2)
来自docs:
持续时间int:显示消息的时间。 LENGTH_SHORT或LENGTH_LONG
所以,Toast.LENGTH_SHORT或Toast.LENGTH_LONG。不是' 3'
答案 1 :(得分:0)
Toast.makeText(this,"Log added"+password,Toast.LENGTH_SHORT).show();
答案 2 :(得分:0)
使用正确的上下文MainActivity.this
NOT this
。
Toast.makeText(MainActivity.this, "Log added", Toast.LENGTH_SHORT).show();