【问题标题】:First charector of EditText should be alphabetEditText 的第一个字符应该是字母
【发布时间】:2013-04-10 07:19:16
【问题描述】:

在我的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();
            }
        }
    }
});

提前致谢。

【问题讨论】:

  • 我们需要更好地描述您的问题。 “在表本身中”是什么意思?您是在询问 SELECT 查询以查找重复项吗?
  • 您想要的输出是什么?你想选择那些有重复的,还是那些有唯一的?
  • @praveen 您的查询仅适用于一列值...例如:我想在部门中插入多个开发人员但不能允许多个主管/部门...。

标签: android textwatcher


【解决方案1】:
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)

【讨论】:

  • 这样的话,除了"Head"之外的所有值都允许在指定中重复值?
  • @DanielHilgarth - 如果指定不是Head,它允许重复(部门,名称)的组合。如果 Designation 是 Head,每个 (Department,Designation) 对只能出现一次。
  • 不错。不知道这样的事情是可能的。 +1
  • @DanielHilgarth - 这个答案的有趣之处在于它是我今天已经给出的另一个答案的虚拟复制和粘贴 - 除了一些小的列重命名。
【解决方案2】:

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

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

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

【讨论】:

    猜你喜欢
    • 2018-04-16
    • 1970-01-01
    • 2022-11-04
    • 2021-11-14
    • 1970-01-01
    • 2013-06-11
    • 2023-03-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多