识别edittext中的当前主题标签或标签

时间:2015-07-30 13:34:39

标签: android mysql tags android-edittext hashtag

我有和EditText,我可以写单词,主题标签和标签。我认识到Linkify的所有标签或主题标签,当我用这种方法按下按钮时,我可以得到所有标签或标签:

            String text = editText.getText().toString();
            String[] words = text.split(" ");
            List<String> hashtags = new ArrayList<String>();
            List<String> tags = new ArrayList<String>();

            for ( String word : words) {
                if (word.substring(0, 1).equals("#")) {
                    Log.i("HASHTAG", word);
                    hashtags.add(word);
                }
                if (word.substring(0, 1).equals("@")) {
                    Log.i("TAG", word);
                    tags.add(word);
                }
            }

现在我想在我写作时拿标签并向我的数据库发出请求,向用户建议一些单词。我如何处理我插入的标签,然后搜索它?

例如,如果我写:&#34;我认为@ ta&#34; 我想采取&#34; ta&#34;并在我的数据库中搜索它,然后我将填充我的列表视图:&#34; tank&#34; &#34;取&#34; &#34;味道&#34; ...

1 个答案:

答案 0 :(得分:2)

您可以像这样添加TextChangedListener

editText.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) { 
            String text = s.toString()
            if (text.lastIndexOf("@") > text.lastIndexOf(" ")){
                String tag = text.substring(text.lastIndexOf("@"), text.length());
                // search for tag...
            }
        }
    });