没有合适的方法makeText() - Toast(Android)

时间:2016-02-25 01:36:29

标签: java android android-studio

我已经定义了一个简单的Toast,它将显示" log added"何时写入文件。其余代码只是将EditText内容写入名为log.txt的文件的其余方法。

我使用getActivityContext()thisMainActivity作为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();


            }
        }
    );

3 个答案:

答案 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();