2016-04-06 2 views
3

Я пытаюсь разобрать url для классов div, но я не могу отобразить их все. Я смог вытащить первый, используя jsuop.Невозможно отобразить мои проанализированные данные в listview

<div class="k_block">Text 1 is here</div> 
<div class="k_block">Text 2 is here</div> 
<div class="k_block">Text 3 is here</div> 
<div class="k_block">Text 4 is here</div> 
<div class="k_block">Text 5 is here</div> 

Вот мой код:

import android.os.AsyncTask; 
import android.os.Bundle; 
import android.support.design.widget.FloatingActionButton; 
import android.support.design.widget.Snackbar; 
import android.support.v7.app.AppCompatActivity; 
import android.support.v7.widget.Toolbar; 
import android.view.View; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.widget.ArrayAdapter; 
import android.widget.ListView; 

import org.jsoup.Jsoup; 
import org.jsoup.nodes.Document; 

import java.io.IOException; 

public class MainActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
     setSupportActionBar(toolbar); 

     new Look().execute(); 

     FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); 
     fab.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) 
         .setAction("Action", null).show(); 
      } 
     }); 
    } 

    class Look extends AsyncTask<Void, Void, Void> { 

     String title; 
     Document doc; 
     String[] array; 

     @Override 
     protected void onPreExecute() { } 

     @Override 
     protected Void doInBackground(Void... params) { 
      try { 
       doc = Jsoup.connect("url here").get(); 
       title = doc.select("div.k_block").text(); 
       array = title.split("\\.\\.\\. "); 
      } catch (IOException e) { 
       e.printStackTrace(); 
      } 
      return null; 
     } 

     @Override 
     protected void onPostExecute(Void result) { 

      ArrayAdapter<String> adptr = 
        new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, array); 
      ListView listView = (ListView) findViewById(R.id.mylil); 
      listView.setAdapter(adptr); 

     } 
    } 

Я знаю, что есть ошибка здесь -> ArrayAdapter ADPTR = новый ArrayAdapter (это, android.R.layout.simple_list_item_1, массив); но я не знаю, что делать.

Спасибо, что нашли время. Я ценю это.

+0

Что представляет сообщение об ошибке? –

+0

не может решить конструктор arrayadapter (com.example.dodo.da.MainActivity.Look, int, java.lang.String []) ' –

+0

Спасибо за помощь! –

ответ

1

Используйте MainActivity.this вместо this. Попробуйте следующее:

ArrayAdapter<String> adptr = 
        new ArrayAdapter<String>(MainActivity.this, 
           android.R.layout.simple_list_item_1, 
           array); 
+0

Спасибо ОЧЕНЬ МНОГО! AppCompatActivity.this не помогло, но MainAcvitity.Это действительно помогло. –

+0

Да, это так. Я исправил ответ, пожалуйста, примите как правильный ответ. –