在android中,将字符串放在一个特殊单词后面

在android中,将字符串放在一个特殊单词后面,android,Android,我的问题是我必须添加一个搜索 我的应用程序中的建议。它应该是这样工作的: 如果用户写入@ 搜索框将显示联系人。如果没有联系人,则会将其存储在@shared preferences之后的单词中。如果用户按下,则它应该显示哈希标记(如果它存在于我的sq lite中)。如果不在db中,它将自己存储在db中 subjectEditText.addTextChangedListener(new TextWatcher() { @Override public void beforeText

我的问题是我必须添加一个搜索 我的应用程序中的建议。它应该是这样工作的:

如果用户写入@ 搜索框将显示联系人。如果没有联系人,则会将其存储在@shared preferences之后的单词中。如果用户按下,则它应该显示哈希标记(如果它存在于我的sq lite中)。如果不在db中,它将自己存储在db中

subjectEditText.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) {

        Pattern p = Pattern.compile("(#)");
        p .compile("(@)");
        Matcher m = p.matcher(subjectEditText.getText().toString());
        while (m.find()){
            Toast.makeText(Addhash.this,"find",Toast.LENGTH_SHORT).show();

        }
    }

    @Override
    public void afterTextChanged(Editable s) {

    }
});

Android有一个AutoCompleteTextViewer,它接受一个适配器,你可以用它来进行解析和搜索


至于存储在数据库中,你应该只在他们完成键入后才这样做,这样你就应该有一个添加按钮,可以将它添加到那些地方。

你应该使用onkeypress listner并检查按键,如果按@,然后做你想做的事情,这是java方式,然后纠正进一步的代码,它可能会解决你的id问题。

我知道地球上的JSONO,但如果用户触摸任何单词,我都想要它将存储在数据库中。如果用户输入@,它将打开带有联系人的autocompletetextview。检查是否存在错误,然后将autocomplete适配器设置为nothing,并使用写入数据库。如果是“@”,那么您可以将自动完成设置为联系人列表。请给我一个标记的代码片段。存储在数据库中。我已经创建了db。你可以给我一个字符串中的标签,我会把它存储在我的数据库中。在这个时候,联系并不多。我的老板需要一个工作正常的标签。请注意,我只想把这个单词存储在我的数据库中。在一份完整的声明中。比如从@jasonofearth那里得到帮助。在这方面,我必须储存帮助。在我的数据库中。对不起,我没有看到任何数据库代码,所以我不知道如何将其存储在数据库中。尽管给出了您的描述,但您似乎可以使用上面的textwatcher,尽管您试图同时搜索这两个东西,这似乎有问题。我也不确定你将如何获得联系人自动完成。