2016-04-06 15 views
3

divクラスの解析URLを試していますが、すべて表示することができません。私はjsuopを使って最初のものを引き出すことができました。ここで解析したデータをリストビューに表示できません

<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

thisの代わりにMainActivity.thisを使用してください。試してみてください:

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

ありがとうございました! AppCompatActivity.thisは助けにはなりませんでしたが、MainAcvity.thisが助けました。 –

+0

はい、そうです。私は答えを修正し、正しい答えとして受け入れてください。 –

関連する問題