【问题标题】:[AndroidStudio]How to make toast inside the Text Watcher function ? (What context should i pass in) [duplicate][AndroidStudio]How to make toast inside the Text Watcher function ? (What context should i pass in) [duplicate]
【发布时间】:2016-11-14 12:22:46
【问题描述】:

我正在使用TextWatcher() 方法来收听我的EditText。 它有一个名为afterTextChanged(Editable s) 的方法 我想在这个方法中显示一个 Toast 说“更改已保存”。

对于Toast.makeText(Context context, "message", Toast.LENGTH_SHORT).show();

我应该传入什么上下文??我已经尝试过这个和“name_of_Fragment.this”,但它不会工作。

有人知道该怎么做吗??

 mTitleField.addTextChangedListener(new TextWatcher() {
        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {
            //Nothing to do!!
        }

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            //save the text and overwrite
            mCrime.setTitle(s.toString());

        }

        @Override
        public void afterTextChanged(Editable s) {
            // I want the Toast here!!


        }
    });
    return v;
}

【问题讨论】:

  • 如果您在片段中尝试此操作,请使用 getActivity()。
  • 如果您进行连续的文本更改,TextChangedListner 可能会被挂起。

标签: java android android-studio android-fragments


【解决方案1】:

试试看,

getActivity();

这可能对你有帮助

【讨论】:

  • 那行不通,TextWatcher 对象内部this 指的是TextWatcher。你可能是指上面提到的name_of_Fragment.this.getActivity()
  • 是的,没错。 @迈达斯莱夫科。查看我编辑的答案
猜你喜欢
  • 2022-12-01
  • 2022-12-02
  • 2022-12-02
  • 2022-02-24
  • 2022-12-26
  • 2022-12-01
  • 1970-01-01
  • 2022-12-02
  • 2017-05-03
相关资源
最近更新 更多