Android 使用用户输入搜索ArrayList

Android 使用用户输入搜索ArrayList,android,string,search,arraylist,Android,String,Search,Arraylist,现在,我从一个网站上得到一个问题列表,并将其放入ArrayList中 现在,我如何将用户输入转换为字符串(sSearchValue),并使用ArrayList检查是否有匹配的内容?如果它发现了一个包含用户搜索的问题,它会显示它吗 package com.malthorn.anyquestion; import java.io.IOException; import java.util.ArrayList; import java.util.List; import android.os.Bu

现在,我从一个网站上得到一个问题列表,并将其放入
ArrayList

现在,我如何将用户输入转换为字符串(sSearchValue),并使用
ArrayList
检查是否有匹配的内容?如果它发现了一个包含用户搜索的问题,它会显示它吗

package com.malthorn.anyquestion;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.EditText;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

import com.malthorn.gasculator.R;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Document doc;
        ArrayList<String> urls = new ArrayList<String>();
        EditText iSearchValue = (EditText) findViewById(R.id.iQuestion);
        String sSearchValue = iSearchValue.getText().toString();

        try {

            doc = Jsoup.connect("http://www.reddit.com/r/askscience/search?q=flair%3A%27Psych%27&sort=top&restrict_sr=on").get();

            Elements links = doc.select("a[href]");
            for (Element link : links) {
                String href1=link.attr("href");
                //
                if(href1.startsWith("http://www.reddit.com/r/askscience/"))
                 {
                    urls.add(link.attr("href"));
                 }

                System.out.println("\nlink : " + link.attr("href"));

            }

        } catch (IOException e) {
            e.printStackTrace();
        }
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

}
package com.malthorn.anyquestion;
导入java.io.IOException;
导入java.util.ArrayList;
导入java.util.List;
导入android.os.Bundle;
导入android.app.Activity;
导入android.view.Menu;
导入android.view.view;
导入android.widget.EditText;
导入org.jsoup.jsoup;
导入org.jsoup.nodes.Document;
导入org.jsoup.nodes.Element;
导入org.jsoup.select.Elements;
进口malthorn.Gascolator.R;
公共类MainActivity扩展了活动{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
文件文件;
ArrayList URL=新的ArrayList();
EditText iSearchValue=(EditText)findViewById(R.id.iQuestion);
字符串sSearchValue=iSearchValue.getText().toString();
试一试{
doc=Jsoup.connect(“http://www.reddit.com/r/askscience/search?q=flair%3A%27Psych%27&sort=top&restrict_sr=on).get();
Elements links=doc.select(“a[href]”);
用于(元素链接:链接){
字符串href1=link.attr(“href”);
//
如果(href1.startsWith(“http://www.reddit.com/r/askscience/"))
{
url.add(link.attr(“href”);
}
System.out.println(“\nlink:+link.attr”(“href”);
}
}捕获(IOE异常){
e、 printStackTrace();
}
}
@凌驾
公共布尔onCreateOptions菜单(菜单){
//为菜单充气;这会将项目添加到操作栏(如果存在)。
getMenuInflater().充气(R.menu.main,menu);
返回true;
}
}

这段代码搜索精确的匹配项,如果您需要查找包含搜索词的问题,我将在谷歌搜索类型字符串的方法子字符串以及正则表达式在模式匹配中的用法时向您提供帮助。

好的,谢谢!通过查看我的jsoup解析,您知道我是否正确地完成了它吗?如中所示,我是否将正确的数据放入ArrayList?此外,在您的代码中,您使用的是string[]提问和问题,您能否解释一下,如果字符串为sSearchValue,它如何搜索用户输入?示例代码循环通过一个字符串数组(我认为其中包含问题),如果他找到一个与发送的字符串匹配的字符串(sSearchValue)他返回了那个问题,对不起,我不熟悉Jsoup解析系统;)但我想问的是,这个问题只是一个字符串值,因为用户只输入了一行?我现在很困惑xD,如果用户输入了什么,无论是一个单词还是一个短语,以上代码将搜索您提供的字符串(问题)数组,如果他找到了问题,则返回该问题;如果他没有找到,则返回空字符串。如果您仍然需要帮助,请重新表述该问题,因为我显然不理解xD谢谢!
public String getQuestion(String[] questions, String sSearchValue){
    for(String question : questions){
        if(question.equals(sSearchValue))
            return question;
    }

    return "";
}