2017-02-27 9 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를 전달해야합니다.

예 :

dialog=new ProgressDialog(mContext); 

사용 Anasayfa.class에서

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

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

내부에서이 문제를 넣어

관련 문제