2013-05-06 45 views
0

在我的android项目。我想在用户输入特定字符(例如当用户输入“s”时)时触发一个事件(显示一个对话框)。我在文本监视器上尝试过,但对话框显示两次如何在用户在Android Edit Text中输入角色时触发事件?

请任何人帮我在这

添加的代码

mText.addTextChangedListener(new TextWatcher() { 

     @Override 
     public void onTextChanged(CharSequence s, int start, int before, 
       int count) { 
      // TODO Auto-generated method stub 
      if (s.charAt(s.length() - 1) == 's') { 

       dialog.show(); 
      } 
     } 

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

     } 

     @Override 
     public void afterTextChanged(Editable s) { 
      // TODO Auto-generated method stub 

     } 
    }); 
+2

PLZ显示的代码 – 2013-05-06 05:21:20

+0

相关部分添加textwatcher您编辑文本和u se'afterTextChanged'来观察你需要的字符......第二件事从不使用'=='操作符来检查字符串。而不是使用'myString.equals(“myCharacter”);' – hardartcore 2013-05-06 05:25:10

+0

你是什么意思显示两次? – 2013-05-06 05:30:17

回答

0

您可以添加textWatcher,就像这样:

yourTextView.addTextChangedListener(new TextWatcher() { 
    @Override 
    public void onTextChanged(CharSequence s, int start, int before, int count) { 
    } 

    @Override 
    public void beforeTextChanged(CharSequence s, int start, int count, int after) { 
    } 

    @Override 
    public void afterTextChanged(Editable editable) { 
     //handle the text changed 
    } 
}); 
+0

我试过这个,但这显示对话两次 – Krishna 2013-05-06 05:26:24

+0

只需将代码afterTextChanged,而不是onTextChanged – buptcoder 2013-05-06 05:32:11

相关问题