如何在EditText中输入字母时吐司

时间:2017-07-31 03:08:24

标签: java android input-filter

我是初学者,开始设计一个简单的应用来跟踪高尔夫比分。我花了一些时间试图弄清楚如何向用户提供他们无法在乐谱文本框下输入字母的通知。我尝试使用包含整个字母表的数组但却无法使其工作。我目前正在尝试使用InputFilter,但我没有取得任何成功;当输入一封信时,应用程序会崩溃。

$cookieJar = new SessionCookieJar('SESSION_STORAGE', true);

        $client = new Client([
          'cookies' => $cookieJar
        ]);

        $response = $client->request ....

我怀疑是因为我没有直接将Inputfilter连接到我的blankCheck,但我不确定。任何帮助表示赞赏!

2 个答案:

答案 0 :(得分:0)

通常,您正在寻找的答案是由其他地方引发的问题造成的。

如果您希望用户输入数字而不是文字,最好的解决方案是指定输入类型"数字"在他们输入的EditText字段中。这将限制键盘输入仅允许数字。

<EditText
    android:inputType="number"
    .... other attributes
</EditText>

答案 1 :(得分:0)

U可以使用正则表达式,请参阅以下代码:

//定义您要使用的模式,如下所示。 //我只支持以下内容:

Pattern keyPattern = Pattern.compile("[0-9a-zA-Z,._]+");

yourEditText.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) {}

    @Override
    public void afterTextChanged(Editable s) {
    if (!keyPattern .matcher(yourEditText.getText()).matches()) {
        Toast.makeText(getApplicationContext(),"Your Message",Toast.LENGTH_SHORT).show();
                    return "";
 }
});

希望这有帮助!!!