Я определил простой Toast
, который будет отображать «log добавил», когда файл был записан. Остальная часть кода - это всего лишь остальная часть метода, который записывает содержимое EditText в файл с именем log.txt.Нет подходящего метода для makeText() - Toast (Android)
Я использовал 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();
}
}
);
Используйте 'MainActivity.this' вместо' this'. – Pang
Обратите внимание, что «это» на самом деле ссылается на объект, который является инкапсулирующим, который является View.OnClickListener() – JoxTraex