2013-01-07 2 views
0

www.zamboangatoday.ph에서 데이터를 수집하는 Android 앱을 만들고 모든 뉴스 제목이나 헤더를 가져와야합니다. 하지만 누군가가 내 코드를 검사 할 수있는 유일한 항목을 검색 할 수 있습니다.jsoup를 사용하여 웹 사이트의 데이터를 분석하십시오.

outputTextView.setText(element.text()); 

가 텍스트를 설정합니다, 그리고 각 반복 그것을을 덮어 :

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



      try{ 

       outputTextView = (TextView)findViewById(R.id.textView1); 
       //Document doc = Jsoup.parse(html,"http://www.zamboangatoday.ph"); 
       Document doc = Jsoup.connect("http://www.zamboangatoday.ph/").get(); 
       //Elements tag = doc.select(".even h4 a"); 

       Iterator<Element> iter = doc.select("li.even h4 a").iterator(); 
       //List<Image> images = new ArrayList<Image>(); 
       while(iter.hasNext()) 
       { 
        Element element = iter.next(); 

        outputTextView.setText(element.text()); 

       } 

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




    } 

답변

1

outputTextView,하지만이 코드에 어떤 구성 요소 슈어하지 않습니다. 따라서 루프가 끝나면 마지막 요소 텍스트 만 나타납니다. 가능한 경우 outputTextView.append(element.text());과 같은 것을 사용하고 StringBuilder을 사용하고 루프 뒤의 텍스트를 설정하십시오.


outputTextView = (TextView)findViewById(R.id.textView1); 
//Document doc = Jsoup.parse(html,"http://www.zamboangatoday.ph"); 
Document doc = Jsoup.connect("http://www.zamboangatoday.ph/").get(); 
//Elements tag = doc.select(".even h4 a"); 

Iterator<Element> iter = doc.select("li.even h4 a").iterator(); 
//List<Image> images = new ArrayList<Image>(); 
while(iter.hasNext()) 
{ 
    Element element = iter.next(); 

    /* 
    * Append the text - don't overwrite it 
    * Node: Maybe you have to add a new line ('\n'). 
    */ 
    outputTextView.append(element.text()); 

} 
+0

덕분에 형제. 그것은 – user1643284

+0

괜찮 았어이 일을 끝내. 누군가 listviews를 사용하여 구현하는 방법을 알려줄 수 있습니까? – user1643284

+0

이것이 문제를 해결하면이 대답을 [수락] (http://stackoverflow.com/faq#howtoask) 할 수 있습니다. – ollo

관련 문제