0
Я пытаюсь запустить новое намерение после загрузки данных. Я использую обработчик, который вызывает метод, когда поток завершен, а затем в этом методе я пытаюсь запустить новый Intent, но мое приложение рушится каждый раз. Я сузил его до переменной Context в конструкторе Intent. Вот мой код:Не удается определить контекст при запуске Intent из метода завершения потока
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
pDialog = new ProgressDialog(this);
pDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
pDialog.setMessage("Loading...");
pDialog.setCancelable(false);
pDialog.show();
mHandler = new Handler();
checkUpdate.start();
}
private Thread checkUpdate = new Thread()
{
public void run()
{
try
{
//Do some stuff
mHandler.post(showUpdate);
}
catch(Exception e)
{
//Error case
}
}
};
private final Context context = this;
private Runnable showUpdate = new Runnable()
{
public void run()
{
//Do post process
pDialog.dismiss();
//This is the line it crashes on
Intent intent = new Intent(context, com.example.example1.TestListActivity.class);
startActivityForResult(intent, 0);
}
};
Я также попытался getApplicationContext() в конструкторе Intent вместо контекста. Таким образом, другая строка: Intent mowerListIntent = new Intent (getApplicationContext(), com.example.example1.TestListActivity.class); – rplankenhorn
Можете ли вы вывести вывод logcat – Vinay
Без исключения из журнала все, что мы можем сделать, это спекулировать. Кроме того, как вы сузили то, что вызывало проблему? Вы уверены, что это не в Деятельности, получающей намерение? – codelark