EditText的第一个字符应该是字母

时间:2013-04-10 07:19:16

标签: android textwatcher

在我的EditText中,我想将第一个字符输入为alpha,剩下的就是其他内容。我在TextWatcher的帮助下完成了这项任务。但现在我的问题是如果我输入错误(如数字,特殊字符)作为我的第一个字符,那么我的EditText不应该接受剩余的字符。如果我更正了我的第一个字符,那么只有我的EditText才能接受。他们有可能实现这个朋友吗?如果是,那么请指导我的朋友。

我的textWatcher代码是

edittext.addTextChangedListener(new TextWatcher() {

    public void onTextChanged(CharSequence s, int start, int before, int count) {
        // TODO Auto-generated method stub

    }

    public void beforeTextChanged(CharSequence s, int start, int count,
            int after) {
        // TODO Auto-generated method stub

    }

    public void afterTextChanged(Editable s) {
        // TODO Auto-generated method stub
        if (s.length() > 0) {
            String str = edittext.getText().toString();
            char t = str.charAt(0);
            if (!Character.isLetter(t)) {
                Toast.makeText(getApplicationContext(),
                        "please enter your first charecter as alpha",
                        Toast.LENGTH_LONG).show();
            }
        }
    }
});

提前致谢。

2 个答案:

答案 0 :(得分:3)

CREATE UNIQUE INDEX ON UnnamedTable (Department) WHERE Designation='Head'

它被称为Filtered Index。如果您使用的是2008版之前的SQL Server,则可以使用索引视图实现与过滤索引等效的差 - :

CREATE VIEW UnnamedView
WITH SCHEMABINDING
AS
    SELECT Department From UnnamedSchema.UnnamedTable WHERE Designation='Head'
GO
CREATE UNIQUE INDEX ON UnnamedView (Department)

答案 1 :(得分:1)

执行以下查询以查看重复项:

Select Department,Designation,count(*) 
From [mytable] Group by Department,Designation

现在将mytable替换为表名,部门和名称以及表中的列。执行后,结果集将显示重复记录的多个计数。