我想获取HTML页面,但我确实没有。
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();
}
}
我告诉图片错误
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 :(得分:0)
因为ProgressDialog
需要Context
而不是class
。因此,您必须为AsyncTask
创建一个构造函数,然后从Anasayfa.class
传递Context。
例如:将其放在CikmisSorular
Context mContext;
CikmisSorular(Context c){
this.mContext = c;
}
使用:
dialog=new ProgressDialog(mContext);
在Anasayfa.class
case R.id.btn_cikmisSoru:
new CikmisSorular(Anasayfa.this).execute();
break;