2017-02-27 11 views
0

私はHTMLページを取得したいが、私はそれをしなかった。ProcessDialogを適用することができません

CikmisSorular.class

  class CikmisSorular extends AsyncTask<Void,Void,Void> 
       { 
      String URL="http://www.utercih.com/rehberlik.aspx"; 
       String aciklama; 
       String veri; 
      ProgressDialog dialog; 
TextView txtWeb; 
@Override 
protected void onPreExecute() 
{ 
    super.onPreExecute(); 
    dialog=new ProgressDialog(Anasayfa.class); 
    dialog.setTitle("Jsoup Uygulama."); 
    dialog.setMessage("Veri getiriliyor"); 
    dialog.setIndeterminate(false); 
    dialog.show(); 
} 
@Override 
protected Void doInBackground(Void... params) { 
    try { 
     Document doc= Jsoup.connect(URL).get();//Siteye bağlantı sağlanıyor. 
     Elements elements=doc.select("div[class=detayici]");//div tagına ait attiribute çağrılıp Element sınfının içerisindeki nesneye aktarılıyor. 
     //elements.select("p");//elements nesnesi içindeki p tagları çağırılıyor. 
     //elements.select("img").remove();//elements nesnesi içindeki img tagları siliniyor. 
     veri=elements.html();//istenilen html taglarını çeker. 
     aciklama=Jsoup.parse(veri).text();//html taglarını texte çevirir. 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
    return null; 
} 
@Override 
protected void onPostExecute(Void avoid) 
{ 

    txtWeb.setText(aciklama); 
    dialog.dismiss(); 
} 
      } 

は、私が教えてくれた画像

enter image description here

enter image description here

Anasayfa.class

package com.yavuzoktay.derszamani; 


    import android.content.Context; 
    import android.content.Intent; 
    import android.os.Bundle; 
     import android.support.v4.app.Fragment; 
     import android.view.LayoutInflater; 
           import android.view.View; 
    import android.view.ViewGroup; 
     import android.widget.Button; 
     import android.widget.TextView; 
      import android.widget.Toast; 
     import org.jsoup.Jsoup; 
      import org.jsoup.nodes.Document; 
      import org.jsoup.nodes.Element; 
     import org.jsoup.select.Elements; 
      import org.w3c.dom.Text; 

      import android.os.AsyncTask; 


    /** 
         * A simple {@link Fragment} subclass. 
      */ 
     public class Anasayfa extends Fragment implements View.OnClickListener { 


public Anasayfa() { 
    // Required empty public constructor 
      } 
@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) { 
    // Inflate the layout for this fragment 
    View v = inflater.inflate(R.layout.fragment_anasayfa, container, false); 

    Button btn1=(Button)v.findViewById(R.id.btn_hedefim) ; 
    Button btn2=(Button)v.findViewById(R.id.btn_cikmisSoru) ; 
    Button btn3=(Button)v.findViewById(R.id.btn_sinavaNeKadar) ; 
    Button btn4=(Button)v.findViewById(R.id.btn_kronometre) ; 



    btn1.setOnClickListener(this); 
    btn2.setOnClickListener(this); 
    btn3.setOnClickListener(this); 
    btn4.setOnClickListener(this); 

    return v ; 
} 

@Override 
public void onClick(View view) { 
    switch (view.getId()){ 
     case R.id.btn_hedefim: 
      Intent intent = new Intent(getActivity(), Hedefim.class); 
      startActivity(intent); 
      break; 
     case R.id.btn_cikmisSoru: 
      new CikmisSorular().execute(); 
      break; 
     case R.id.btn_sinavaNeKadar: 
      Intent intent2 = new Intent(getActivity(), SinavaKalanGun.class); 
      startActivity(intent2); 
      break; 
     case R.id.btn_kronometre: 
      Intent intent3 = new Intent(getActivity(), Kronometre.class); 
      startActivity(intent3); 
      break; 

    } 
} 

private Context getApplicationContext() { 
    return null; 
} 
     } 
とエラー

私はそれを解決する方法がわかりません。

答えて

0

ProgressDialogContextでないため、classです。したがって、AsyncTaskのコンストラクタを作成してから、Anasayfa.classからContextを渡す必要があります。

例:CikmisSorular

Context mContext; 
CikmisSorular(Context c){ 
this.mContext = c; 
} 

内にこれを入れて使用:Anasayfa.class

case R.id.btn_cikmisSoru: 
    new CikmisSorular(Anasayfa.this).execute(); 
    break; 

dialog=new ProgressDialog(mContext); 

使用

関連する問題