У меня есть приложение в магазине Google Play. Я получаю уведомления о сбоях через Crashlytics/Fabric, поэтому у меня нет истинного LogCat для ссылки. Кроме того, я не могу понять, как копировать эту ошибку в моей собственной системе.OnCreateView NullPointerException
Ошибка я получаю от Crashlytics выглядит следующим образом:
com.company.appname.Fragment.onCreateView (Fragment.java:48)
Вот уместна деталь для декларация класса:
import android.support.v4.app.Fragment;
public class MyTypeFragment extends Fragment {...
Вот код из той части фрагмента:
44 mRestartButton = (Button)contentView.findViewById(R.id.restart_button);
45 mRestartButton.setTypeface(regularTf);
46 mRestartButton.setOnClickListener(new View.OnClickListener() {
47 @Override
48 public void onClick(View v) {
49 getFragmentManager().popBackStack("startingFragment", 0);
50 }
51 });
Я нахожу интересным, что отчет о сбое в объявлении аварии как в методе onCreateView()
, но линия 48 является декларация onClick()
метода на моей кнопки он onClickListener
.
Я посмотрел на следующие вопросы:
Оба они, кажется, указывают на проблему имеющие отношение к неправильному id
при доступе к XML для этого фрагмент. Я не думаю, что это проблема, однако, как это XML-часть для этого фрагмента (и есть только один макет для этого фрагмента):
<LinearLayout
android:layout_height="match_parent"
android:layout_width="match_parent"
android:orientation="vertical"
>
<Button
android:id="@+id/restart_button"
android:layout_gravity="right"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:paddingBottom="8dp"
android:paddingTop="8dp"
android:text="Restart"
/>
Одна вещь, которая может представлять интерес: я использую этот же парадигма на многих моих фрагментах. Функция приложения состоит в том, чтобы развернуть ряд вопросов, чтобы получить ответ. Кнопка «Сброс» позволяет им полностью вернуться к началу, не проходя через какие-либо промежуточные фрагменты, которые они видели на этом пути. У каждого из этих фрагментов есть кнопка, которая называется с R.id.reset_button
. Однако, как я уже сказал, я попытался воспроизвести эту проблему на своем конце и не могу понять, как это происходит.
Я прочитал кое-что, что указывает на то, что эта проблема может быть связана с фрагментом, каким-то образом отделенным от его деятельности, но я даже попытался оставить свое приложение и вернуться, но до сих пор не могу реплицировать эту ошибку.
... или, может быть, макеты являются специфичными для платформы ... с информацией, которую вы предоставили, невозможно ответить на этот вопрос ... – Selvin
@Selvin Я не понимаю, что вы подразумеваете под этим комментарием. Не могли бы вы рассказать? У меня есть только один макет для каждого фрагмента. Как платформа изменит материю? – mbm29414
http://developer.android.com/guide/practices/screens_support.html#qualifiers <у вас есть? (или другие, такие как layout-vXX) – Selvin