Добавить AsyncTask onPreExecute к фрагменту

Я хочу добавить OnPreExecute AsyncTask в SherlockFragment, но это вызывает ошибку. Мой код ниже. В чем заключается моя проблема в этом коде, чтобы добавить диалоговое окно на preExecute AsyncTask?

public class customlist extends SherlockFragment  {
static final String URL = "esample";
static final String KEY_SONG = "song"; // parent node
private static final String KEY_TAB_NUM = "key.tab.num";
 private ProgressDialog pDialog;


ListView list;
LazyAdapterbeth adapter;
XMLParser parser = new XMLParser();
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);

}


public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    new getFeed().execute();

}

public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) 

{
    View thisfragment = inflater.inflate(R.layout.dovomi, container, false);

    return thisfragment;
}




private class getFeed extends AsyncTask<Void, Void, Document> {
  @Override
    protected void onPreExecute() {
        super.onPreExecute();
        pDialog = new ProgressDialog(customlist.this);
        pDialog.setTitle("Connect to Server");
        pDialog.setMessage("This process can take a few seconds to a few minutes, depending on your Internet Connection Speed.");
        pDialog.setIndeterminate(false);
        pDialog.setCancelable(false);
        pDialog.show();
    }

    protected Document doInBackground(Void... params) {

        XMLParser parser = new XMLParser();
        String xml = parser.getXmlFromUrl(URL); // getting XML from URL
        Document doc = parser.getDomElement(xml); // getting DOM element

        return doc;
    }

Это вызывает ошибку в строке

pDialog = new ProgressDialog(customlist.this);

Как я могу добавить диалог или прогрессбар в этом фрагменте?

1 ответ

Решение

ProgressDialog принимает Контекст в качестве параметра. Поскольку вы используете его во фрагменте, вы можете использовать getActivity() вместо.

Другие вопросы по тегам