Wie ersetze ich .this bei einem Fragment?

Status
Für weitere Antworten geschlossen.
P

Peter200980

Ambitioniertes Mitglied
0
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:
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 :)
 
Status
Für weitere Antworten geschlossen.

Ähnliche Themen

M
Antworten
3
Aufrufe
168
moin
M
L
Antworten
15
Aufrufe
909
jogimuc
J
D
Antworten
17
Aufrufe
409
datNeMo
D
Zurück
Oben Unten