@功能的逻辑判断(原创)

 
   
 1 et_txt.addTextChangedListener(new TextWatcher() {

 2             // 判断何时弹出@选择成员的界面的逻辑:判断增加的字符个数是1,记录下变化前的位置,最后判断增加的这个字符是否是@字符即可

 3             int addlength = 0;

 4             int startposition = 0;

 5 

 6             @Override

 7             public void onTextChanged(CharSequence s, int start, int before, int count) {

 8                 //start 变化的起始位置

 9                 //before减少的字符数

10                 //count 增加的字符数

11                 //s变化后的字符

12             }

13 

14             @Override

15             public void beforeTextChanged(CharSequence s, int start, int count, int after) {

16                 // start 变化的起始位置

17                 // count减少的字符数

18                 // after增加的字符数

19                 // s变化前的字符

20                 addlength = after;

21                 startposition = start;

22             }

23 

24             @Override

25             public void afterTextChanged(Editable s) {

26                 if (chatroom_type != null && chatroom_type.equals(ConsUtil.dg_type_group) && (addlength == 1)

27                         && (s.toString().substring(startposition, startposition + 1).equals("@"))) {

28                     // TODO 输入@出现选择群成员界面

29                     showGroupMembersChose();

30                 }

31 

32             }

33         });
 
   

 

 

判断的简单意思就是增加的字符个数是1,且这个字符为@

你可能感兴趣的:(判断)