[AndroidStudio]如何在Text Watcher函数内创建toast?(应该传递什么上下文)

8 浏览
0 Comments

[AndroidStudio]如何在Text Watcher函数内创建toast?(应该传递什么上下文)

我正在使用TextWatcher()方法来监听我的EditText。\n它有一个叫做afterTextChanged(Editable s)的方法。\n我想在这个方法中显示一个Toast,内容为\"Changes saved\"。\n对于Toast.makeText(Context context, \"message\", Toast.LENGTH_SHORT).show();,\n我应该传入什么上下文?我已经尝试过这个和\"name_of_Fragment.this\",但并不起作用。\n有人知道怎么做吗?\n

mTitleField.addTextChangedListener(new TextWatcher() {
    @Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {
        // 没有需要做的操作!
    }
    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {
        // 保存文本并覆盖
        mCrime.setTitle(s.toString());
    }
    @Override
    public void afterTextChanged(Editable s) {
        // 我想在这里显示Toast!
    }
});
return v;

0
0 Comments

问题出现的原因是在Text Watcher函数中无法使用Toast,因为无法获取正确的上下文(context)。解决方法是使用name_of_Fragment.this.getActivity()来获取正确的上下文。

0