Симулятор Android вылетает при использовании намерения

Я новичок в студии Android, я использую Java для написания своего приложения. Я обнаружил, что когда я использую намерение сделать переход страницы от вызова страницы PhotosActivity к вызову другой страницы, AndroidTabLayoutActivity не удалось, я понятия не имею, что происходит. Симулятор Android не выдает мне сообщений об ошибках, и он просто закрывается приложение автоматически.

код намерения вызова:

if (!error) {
                    Toast.makeText(getApplicationContext(), "Offer successfully inserted.", Toast.LENGTH_LONG).show();
                    // Jump to the AndroidTabLayoutActivity page
                    Intent intent = new Intent(
                            PhotosActivity.this,
                            AndroidTabLayoutActivity.class);
                    startActivity(intent);
                    finish();
                }

Код AndroidTabLayoutActivity:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    TabHost tabHost = getTabHost();

    // Tab for Photos
    TabSpec photospec = tabHost.newTabSpec("Photos");
    photospec.setIndicator("Photos", getResources().getDrawable(R.drawable.icon_photos_tab));
    Intent photosIntent = new Intent(this, PhotosActivity.class);
    photospec.setContent(photosIntent);

    //there is still some others tab in here

    // Adding all TabSpec to TabHost
    tabHost.addTab(photospec); // Adding photos tab
}

Я почти уверен, что мой код попал в if (!error), и я попытался перейти на другую страницу, и все прошло успешно. Я хочу сказать, что intent работает на других страницах, но не AndroidTabLayoutActivity.

Qiu Xue 08.09.2018 07:22

Вы проверили logcat? Определите причину проблемы с помощью logcat

MJM 08.09.2018 07:28

о, извините, это логарифм других приложений .... Я все еще не получаю никаких ошибок с этим кодом

Qiu Xue 08.09.2018 07:38

проверьте свой выход с помощью NO Filter

Tejas Pandya 08.09.2018 07:48

@TejasPandya Спасибо за предложение, наконец-то я вижу ошибку, но до сих пор не знаю, как с ней справиться ...

Qiu Xue 08.09.2018 08:15
E/AudioFlinger:not enough memory for AudioTrack size=131296, E/AudioFlinger: createRecordTrack_l() initCheck failed -12; no control block?, E/IAudioFlinger: createRecord returned error -12, E/AudioRecord: AudioFlinger could not create record track, status: -12
Qiu Xue 08.09.2018 08:17
E/AudioRecord-JNI: Error creating AudioRecord instance: initialization check failed with status -12., E/android.media.AudioRecord: Error code -20 when initializing native AudioRecord object.
Qiu Xue 08.09.2018 08:17

вот и вся ошибка, которую я получаю

Qiu Xue 08.09.2018 08:17
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
8
58
2

Ответы 2

You have using getApplicationContext() in this toast method

Replace with activity context, i am sure your code is working fine   

 Toast.makeText(getApplicationContext(), "Offer successfully inserted.", 
 Toast.LENGTH_LONG).show();

 Use like this 

 Toast.makeText(PhotosActivity.this, "Offer successfully inserted.", 
 Toast.LENGTH_LONG).show();

Поскольку нет какого-либо конкретного журнала ошибок. Мы должны отказаться от всех возможностей.

  1. Прежде всего, замените тост на это.

    Toast.makeText(getApplicationContext(), "Offer successfully inserted.", Toast.LENGTH_LONG).show();

  2. После этого убедитесь, что вы указали свой AndroidTabLayoutActivity в своем файле AndroidManifest.xml.

  3. В вашем AndroidTabLayoutActivity Cooment выложите весь ваш код и проверьте его работу? если да, то проблема в AndroidTabLayoutActivity. ответь мне, что работает для тебя

Извините, сэр, тосты выглядят так же, как и мой оригинальный код Toast.makeText(getApplicationContext(), "Offer successfully inserted.", Toast.LENGTH_LONG).show();

Qiu Xue 08.09.2018 10:05

для № 2, да, я указал AndroidTabLayoutActivity в моем манифесте. нет3, да, весь мой код работает на AndroidTabLayoutActivity

Qiu Xue 08.09.2018 10:08

@QiuXue дважды проверьте свой xml-код в main.xml, и я сомневаюсь, что, возможно, ваш TabHost создает проблему. так что также проверьте это, комментируя

Tejas Pandya 08.09.2018 11:22

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