Когда мне нужен контекст внутри моего фрагмента, я использую getActivity(), но иногда этот сбой кода дает мне NullPointer, я верю, потому что андроид продолжает выполнять код в фрагменте, но активность уже умерла.getActivity() внутри Fragment иногда сбой
Таким образом, чтобы исправить это, мне нужно всегда использовать:
final Activity activity = getActivity();
if(activity != null) {
//TODO: Use activity here
}
Но это SUX всегда verifiy, если активность не является нулевым, Есть другой способ сделать это без аварии?
Операция, в которой размещается фрагмент, никогда не умирает, фрагмент не может отображаться без активности хозяина. Вы пытаетесь что-то сделать в Фрагменте, прежде чем добавлять его в действие или после его удаления из Activity? –
Нет, но я использую AsyncTasks в Fragment (выполняется в onCreateView), в OnPostExecute моей AsyncTask я использую getActivity, в этой ситуации дайте мне NullPointer, я считаю, что, поскольку новый вид действия выполняется на переднем плане, а Android выполняет onPostExecute из AsyncTask из моего первой активности, но уже потерял ссылку. – fsilvestre
О, так что у вас есть обезглавленный фрагмент, который не является частью пользовательского интерфейса? –