P
Peter200980
Ambitioniertes Mitglied
Hallo Zusammen,
ich habe folgendes Problem:
Zuerst war das derzeitige Fragment eine Activity, d.h. folgende Zeile wurde angewendet:
new Downloader(Locations_main.this,urlAddress,lv).execute();
Da ich jetzt ein Fragment verwende, meckert AS folgendes: Error
31, 38) error: incompatible types: Locations_main cannot be converted to Context
diese Meldung bezieht sich auf meine Downloader Activity, welche Ihr anbei zusätzlich findet:
Über einen Lösungsvorschlag würde ich mich sehr freuen
ich habe folgendes Problem:
Zuerst war das derzeitige Fragment eine Activity, d.h. folgende Zeile wurde angewendet:
new Downloader(Locations_main.this,urlAddress,lv).execute();
Da ich jetzt ein Fragment verwende, meckert AS folgendes: Error

diese Meldung bezieht sich auf meine Downloader Activity, welche Ihr anbei zusätzlich findet:
Code:
public class Downloader extends AsyncTask<Void,Void,String> {
Context c;
String urlAddress;
ListView lv;
ProgressDialog pd;
public Downloader(Context c, String urlAddress, ListView lv) {
this.c = c;
this.urlAddress = urlAddress;
this.lv = lv;
}
@Override
protected void onPreExecute() {
super.onPreExecute();
pd=new ProgressDialog(c);
pd.setTitle("Locations werden geladen");
pd.setMessage("Locations werden geladen");
pd.show();
}
@Override
protected String doInBackground(Void... params) {
return this.downloadData();
}
@Override
protected void onPostExecute(String jsonData) {
super.onPostExecute(jsonData);
pd.dismiss();
if(jsonData==null)
{
Toast.makeText(c,"Unable to connect to DB",Toast.LENGTH_SHORT);
}else{
new DataParser(c,jsonData,lv).execute();
}
}
private String downloadData()
{
HttpURLConnection con=Connector.connect(urlAddress);
if(con==null){
return null;
}
try {
InputStream is=new BufferedInputStream(con.getInputStream());
BufferedReader br= new BufferedReader(new InputStreamReader(is));
String line;
StringBuffer jsonData=new StringBuffer();
while((line=br.readLine()) !=null)
{
jsonData.append(line+"\n");
}
br.close();
is.close();
return jsonData.toString();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}
Über einen Lösungsvorschlag würde ich mich sehr freuen