Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Dmitriy505
0 / 0 / 0
Регистрация: 10.09.2015
Сообщений: 21
#1

Приложение вылетает после перехода на второе активити - Android

10.09.2015, 09:43. Просмотров 423. Ответов 8
Метки нет (Все метки)

Здравствуйте! Помогите разобраться с причиной вылета второго активити.

Код главного активити
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
package com.delyanka.help_the_farmer;
 
import android.content.Intent;
import android.os.Bundle;
import android.support.design.widget.NavigationView;
import android.support.v4.view.GravityCompat;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.MenuItem;
 
 
public class MainActivity extends AppCompatActivity {
 
    private DrawerLayout mDrawerLayout;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
 
        final ActionBar ab = getSupportActionBar();
        ab.setHomeAsUpIndicator(R.drawable.ic_menu);
        ab.setDisplayHomeAsUpEnabled(true);
 
        mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
 
        NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
        if (navigationView != null) {
            setupDrawerContent(navigationView);
        }
 
    }
 
       @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case android.R.id.home:
                mDrawerLayout.openDrawer(GravityCompat.START);
                return true;
        }
        return super.onOptionsItemSelected(item);
    }
 
       private void setupDrawerContent(NavigationView navigationView) {
        navigationView.setNavigationItemSelectedListener(
                new NavigationView.OnNavigationItemSelectedListener() {
            @Override
            public boolean onNavigationItemSelected(MenuItem menuItem) {
                int id = menuItem.getItemId();
 
               switch (id){
                    case R.id.nav_optimized:
                        Intent intent = new Intent(MainActivity.this, OptimizedActivity.class);
                        intent.putExtra(OptimizedActivity.EXTRA_NAME, R.string.title_activity_optimized);
                        startActivity(intent);
                        break;
 
                    case R.id.nav_about:
                        Intent about = new Intent(MainActivity.this, TheAboutActivity.class);
                        about.putExtra(TheAboutActivity.EXTRA_NAME, R.string.title_activity_about);
                        startActivity(about);
                        break;
                    case R.id.system_exit:
                        System.exit(0);
                        break;
                }
                return true;
            }
        });
 
    }
 
 
}
Код второго активити

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
package com.delyanka.help_the_farmer;
 
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
 
public class TheAboutActivity extends AppCompatActivity {
 
    public static final String EXTRA_NAME = "about_name";
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.the_about);
 
 
        Intent about = getIntent();
        final String aboutName = about.getStringExtra(EXTRA_NAME);
 
        final Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        toolbar.setTitle(aboutName);
        setSupportActionBar(toolbar);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
 
 
 
 
 
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_the_about, menu);
        return true;
    }
 
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
 
        //noinspection SimplifiableIfStatement
        if (id == R.id.the_about_close) {
            finish();
            return true;
        }
 
        return super.onOptionsItemSelected(item);
    }
 
 
}
Тело второго активити
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
<?xml version="1.0" encoding="utf-8"?>
 
<android.support.design.widget.CoordinatorLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/main_content"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true">
 
    <android.support.design.widget.AppBarLayout
        android:id="@+id/appbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
        android:fitsSystemWindows="true">
 
 
            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
                app:layout_collapseMode="pin" />
 
 
    </android.support.design.widget.AppBarLayout>
 
    <android.support.v4.widget.NestedScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior">
 
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical"
            android:paddingTop="24dp">
 
            <android.support.v7.widget.CardView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_margin="@dimen/card_margin">
 
                <LinearLayout
                    style="@style/Widget.CardContent"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content">
 
                    <TextView
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:text="@string/version_about"
 
                        android:textAppearance="@style/TextAppearance.AppCompat.Title" />
                    <TextView
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
 
                        android:textColor="#8e0001"
                        android:id="@+id/text" />
 
 
                </LinearLayout>
 
            </android.support.v7.widget.CardView>
 
            <android.support.v7.widget.CardView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginBottom="@dimen/card_margin"
                android:layout_marginLeft="@dimen/card_margin"
                android:layout_marginRight="@dimen/card_margin">
 
                <LinearLayout
                    style="@style/Widget.CardContent"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content">
 
                    <TextView
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:text="@string/whots_new"
                        android:textAppearance="@style/TextAppearance.AppCompat.Title" />
 
                    <TextView
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:text="@string/whots_new_telo"
                        android:textColor="#388E3C" />
 
                </LinearLayout>
 
            </android.support.v7.widget.CardView>
 
            <android.support.v7.widget.CardView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginBottom="@dimen/card_margin"
                android:layout_marginLeft="@dimen/card_margin"
                android:layout_marginRight="@dimen/card_margin">
 
                <LinearLayout
                    style="@style/Widget.CardContent"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content">
 
                    <TextView
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:text="@string/suite"
                        android:textAppearance="@style/TextAppearance.AppCompat.Title" />
 
                    <TextView
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:text="@string/suite_telo"
 
                        android:id="@+id/sait"
 
                        android:autoLink="web"/>
 
 
                </LinearLayout>
 
            </android.support.v7.widget.CardView>
 
        </LinearLayout>
 
    </android.support.v4.widget.NestedScrollView>
 
    <!--<android.support.design.widget.FloatingActionButton
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        app:layout_anchor="@id/appbar"
        app:layout_anchorGravity="bottom|right|end"
        android:src="@drawable/ic_discuss"
        android:layout_margin="@dimen/fab_margin"
        android:clickable="true"/>-->
 
</android.support.design.widget.CoordinatorLayout>
При такой расладке все отлично работает и переходит. НО как только я прописываю код во втором окне
Java
1
2
TextView text = (TextView) findViewById(R.id.text);
        text.setText("2");
для вывода текста в TextView происходит вылет программы.
Вот лог
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
09-09 23:33:17.205  19523-19523/com.delyanka.help_the_farmer E/AndroidRuntime﹕ FATAL EXCEPTION: main
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.delyanka.help_the_farmer/com.delyanka.help_the_farmer.TheAboutActivity}: java.lang.NullPointerException
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
            at android.app.ActivityThread.access$600(ActivityThread.java:123)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
            at android.os.Handler.dispatchMessage(Handler.java:99)
            at android.os.Looper.loop(Looper.java:137)
            at android.app.ActivityThread.main(ActivityThread.java:4424)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:511)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
            at dalvik.system.NativeStart.main(Native Method)
     Caused by: java.lang.NullPointerException
            at com.delyanka.help_the_farmer.TheAboutActivity.onCreate(TheAboutActivity.java:20)
            at android.app.Activity.performCreate(Activity.java:4465)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)
************at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
************at android.app.ActivityThread.access$600(ActivityThread.java:123)
************at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
************at android.os.Handler.dispatchMessage(Handler.java:99)
************at android.os.Looper.loop(Looper.java:137)
************at android.app.ActivityThread.main(ActivityThread.java:4424)
************at java.lang.reflect.Method.invokeNative(Native Method)
************at java.lang.reflect.Method.invoke(Method.java:511)
************at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
************at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
************at dalvik.system.NativeStart.main(Native Method)
09-09 23:33:17.675  19523-19530/com.delyanka.help_the_farmer I/dalvikvm﹕ threadid=3: reacting to signal 3
09-09 23:33:17.675  19523-19530/com.delyanka.help_the_farmer I/dalvikvm﹕ Wrote stack traces to '/data/anr/traces.txt'
09-09 23:33:17.725  19523-19530/com.delyanka.help_the_farmer I/dalvikvm﹕ threadid=3: reacting to signal 3
09-09 23:33:17.725  19523-19530/com.delyanka.help_the_farmer I/dalvikvm﹕ Wrote stack traces to '/data/anr/traces.txt'
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.09.2015, 09:43     Приложение вылетает после перехода на второе активити
Посмотрите здесь:

Android Запрет поворота экрана после создания активити
Мигает активити после сплешскрина Android
Android Ошибки при востановление активити после уничтожения
Android Запуск таймера после закрытия второй Активити
Вылетает приложение Android
Android Вылетает приложение
Android Одно приложение вконтакте работает, а второе нет
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ranny
0 / 0 / 1
Регистрация: 29.07.2015
Сообщений: 10
10.09.2015, 10:05     Приложение вылетает после перехода на второе активити #2
Java
1
2
TextView text = (TextView) findViewById(R.id.text);
        text.setText("2");
в какое место вставляешь? у тебя text= null, возможно что ты вставляешь это до
setContentView(R.layout.the_about); поэтому он не может найти твой textView, и соответственно срабатывает NullPointerException когда ты пытаешься вызвать text.setText()
Dmitriy505
0 / 0 / 0
Регистрация: 10.09.2015
Сообщений: 21
10.09.2015, 10:11  [ТС]     Приложение вылетает после перехода на второе активити #3
Вставляю после
Java
1
2
3
4
 final Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        toolbar.setTitle(aboutName);
        setSupportActionBar(toolbar);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);

Причем если сделать все тоже самое но на главном активити, то все отрабатывает нормально



И на этом активити не отрабатывает кнопка почему то на ссылку. цветом выделяется но кликается
Паблито
2195 / 1809 / 562
Регистрация: 12.05.2014
Сообщений: 6,440
Завершенные тесты: 1
10.09.2015, 10:16     Приложение вылетает после перехода на второе активити #4
что ты сказки рассказываешь?
у тебя явно в ошибке указывает на строку 20 в onCreate, а это
Java
1
Intent about = getIntent();
Dmitriy505
0 / 0 / 0
Регистрация: 10.09.2015
Сообщений: 21
10.09.2015, 10:25  [ТС]     Приложение вылетает после перехода на второе активити #5
Если ты правильно прочитал сначала. То это код второго активити я указал чистый без определения TextView.

Вот так тебе понятнее будет.

Код с определением TextView
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
package com.delyanka.help_the_farmer;
 
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;
 
public class TheAboutActivity extends AppCompatActivity {
 
    public static final String EXTRA_NAME = "about_name";
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.the_about);
 
        Intent about = getIntent();
        final String aboutName = about.getStringExtra(EXTRA_NAME);
 
        final Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        toolbar.setTitle(aboutName);
        setSupportActionBar(toolbar);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
 
        TextView text = (TextView) findViewById(R.id.text);
        text.setText("2");
 
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_the_about, menu);
        return true;
    }
 
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
 
        //noinspection SimplifiableIfStatement
        if (id == R.id.the_about_close) {
            finish();
            return true;
        }
 
        return super.onOptionsItemSelected(item);
    }
 
 
}
И лог ошибки
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
09-10 07:22:43.059    5769-5769/com.delyanka.help_the_farmer E/AndroidRuntime﹕ FATAL EXCEPTION: main
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.delyanka.help_the_farmer/com.delyanka.help_the_farmer.TheAboutActivity}: java.lang.NullPointerException
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
            at android.app.ActivityThread.access$600(ActivityThread.java:123)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
            at android.os.Handler.dispatchMessage(Handler.java:99)
            at android.os.Looper.loop(Looper.java:137)
            at android.app.ActivityThread.main(ActivityThread.java:4424)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:511)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
            at dalvik.system.NativeStart.main(Native Method)
     Caused by: java.lang.NullPointerException
            at com.delyanka.help_the_farmer.TheAboutActivity.onCreate(TheAboutActivity.java:29)
            at android.app.Activity.performCreate(Activity.java:4465)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)
************at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
************at android.app.ActivityThread.access$600(ActivityThread.java:123)
************at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
************at android.os.Handler.dispatchMessage(Handler.java:99)
************at android.os.Looper.loop(Looper.java:137)
************at android.app.ActivityThread.main(ActivityThread.java:4424)
************at java.lang.reflect.Method.invokeNative(Native Method)
************at java.lang.reflect.Method.invoke(Method.java:511)
************at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
************at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
************at dalvik.system.NativeStart.main(Native Method)
09-10 07:22:43.540    5769-5776/com.delyanka.help_the_farmer I/dalvikvm﹕ threadid=3: reacting to signal 3
09-10 07:22:43.540    5769-5776/com.delyanka.help_the_farmer I/dalvikvm﹕ Wrote stack traces to '/data/anr/traces.txt'
09-10 07:22:43.589    5769-5776/com.delyanka.help_the_farmer I/dalvikvm﹕ threadid=3: reacting to signal 3
09-10 07:22:43.589    5769-5776/com.delyanka.help_the_farmer I/dalvikvm﹕ Wrote stack traces to '/data/anr/traces.txt'
09-10 07:22:45.909    5769-5769/? I/Process﹕ Sending signal. PID: 5769 SIG: 9
Теперь строки ошибок видно? Я что дурак по твоему. и не вижу на какую строку ссылается ошибка. Я и хочу понять почему на нее ссылается.
Vladimir93
35 / 35 / 4
Регистрация: 28.06.2015
Сообщений: 136
10.09.2015, 11:46     Приложение вылетает после перехода на второе активити #6
А вот этот текст почему вверх тормашками?
XML
1
2
3
4
5
6
  <TextView
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
 
                        android:textColor="#8e0001"
                        android:id="@+id/text" />
Паблито
2195 / 1809 / 562
Регистрация: 12.05.2014
Сообщений: 6,440
Завершенные тесты: 1
10.09.2015, 11:50     Приложение вылетает после перехода на второе активити #7
вангую - есть еще папка с landscape лаяутом и там лежит такой же файл разметки, но в нем нет TextView с id="text"
Vladimir93
35 / 35 / 4
Регистрация: 28.06.2015
Сообщений: 136
10.09.2015, 11:53     Приложение вылетает после перехода на второе активити #8
Да и поля текст нет.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.09.2015, 12:25     Приложение вылетает после перехода на второе активити
Еще ссылки по теме:

Android Не отображается игровое поле после выхода из другого активити
Приложение вылетает после перехода на новое активити Android
Приложение вылетает после 2х часов работы Android
Android Как сделать приложение без единого активити
Android Если поменять ориентацию экрана или SurfaceView перекроет другой активити, то приложение завершается аварийно

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Dmitriy505
0 / 0 / 0
Регистрация: 10.09.2015
Сообщений: 21
10.09.2015, 12:25  [ТС]     Приложение вылетает после перехода на второе активити #9
Цитата Сообщение от Паблито Посмотреть сообщение
вангую - есть еще папка с landscape лаяутом и там лежит такой же файл разметки, но в нем нет TextView с id="text"
Вот за это спасибо. Я про него совсем и забыл. Он у меня в проекте не показывался, перезапустил Studio и вот он. Спасибо
Yandex
Объявления
10.09.2015, 12:25     Приложение вылетает после перехода на второе активити
Ответ Создать тему
Опции темы

Текущее время: 21:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru