Помогите с потоком!

Рейтинг: 0Ответов: 1Опубликовано: 20.02.2015

Помогите с потоком! Бьет ошибку в этом месте: adapter = new RssListAdapter(this,jobs); Ругается на this....

public class MainActivity extends ListActivity {

    private RssListAdapter adapter;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        MyTask mt = new MyTask();
        mt.execute();
        }

        class MyTask extends AsyncTask<Void, Void, Void> {

            @Override
            protected void onPreExecute() {
                super.onPreExecute();

            }

            @Override
            protected Void doInBackground(Void... params) {
                List<JSONObject> jobs = new ArrayList<JSONObject>();
                try {
                    jobs = RssReader.getLatestRssFeed();
                } catch (Exception e) {
                    Log.e("RSS ERROR", "Error loading RSS Feed Stream >> " + e.getMessage() + " //" + e.toString());

                    adapter = new RssListAdapter(this,jobs);
                    setListAdapter(adapter);

                }
                return null;
            }

            @Override
            protected void onPostExecute(Void result) {
                super.onPostExecute(result);

            }
        }
}

Ответы

▲ 3Принят

Попробуй немного уличной магии (хотя объявлять адаптеры в другом потоке - откровенный говнокод). Решив проблему компиляции, ты скорее всего получишь исключение времени выполнения.

 adapter = new RssListAdapter(MainActivity.this,jobs);

alt text