2014-02-06 201 views
-1

现在,我得到的来自网站的问题的列表,并把它ArrayList<String>内。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; 
    } 

} 

回答

1
public String getQuestion(String[] questions, String sSearchValue){ 
    for(String question : questions){ 
     if(question.equals(sSearchValue)) 
      return question; 
    } 

    return ""; 
} 

精确匹配这段代码的搜索,如果你需要找到ressemble搜索词的问题,我会adivse你对模式匹配google搜索方法串为String类型,也正则表达式的用途。

+0

好的,谢谢!从看我的jsoup解析,你知道我是否正确地执行它?在中,我是否将正确的数据放入ArrayList中? – user3224105

+0

另外,在你的代码中,你正在使用string []问题和疑问,你能解释一下,如果它的字符串是sSearchValue,它如何搜索用户输入? – user3224105

+0

示例代码循环遍历一个字符串数组(我想这包含问题),如果他找到一个匹配发送的字符串(sSearchValue),他会返回该问题 对不起,我不熟悉Jsoup解析系统; ) – nunoh123