Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
 
SP Developer
0 / -2 / 0
Регистрация: 31.03.2016
Сообщений: 127
#1

Ошибка с xml разметкой после добавления Drawer - Программирование Android

20.08.2016, 17:55. Просмотров 406. Ответов 20
Метки нет (Все метки)

Я добавил в свою активность Drawer, и после этого она перестала запускаться и появилась вот эта ошибка:
08-20 17:50:52.920 23304-23304/spsoft.myapplication E/AndroidRuntime: FATAL EXCEPTION: main
Process: spsoft.myapplication, PID: 23304
java.lang.RuntimeException: Unable to start activity ComponentInfo{spsoft.myapplication/spsoft.passwordgenerator.list}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.CheckBox.setText(java.lang.CharSequence)' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2790)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2855)
at android.app.ActivityThread.access$900(ActivityThread.java:181)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1474)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:6117)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.CheckBox.setText(java.lang.CharSequence)' on a null object reference
at spsoft.passwordgenerator.list.onCreate(list.java:335)
at android.app.Activity.performCreate(Activity.java:6374)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2743)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2855)*
at android.app.ActivityThread.access$900(ActivityThread.java:181)*
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1474)*
at android.os.Handler.dispatchMessage(Handler.java:102)*
at android.os.Looper.loop(Looper.java:145)*
at android.app.ActivityThread.main(ActivityThread.java:6117)*
at java.lang.reflect.Method.invoke(Native Method)*
at java.lang.reflect.Method.invoke(Method.java:372)*
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)*
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)*
Вот код класса активности до момента, где она вылетает:
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
package spsoft.passwordgenerator;
 
import ...
 
public class list extends AppCompatActivity implements OnClickListener, NavigationView.OnNavigationItemSelectedListener {
    private static final String TAG = "MyApp";
 protected void onCreate(Bundle savedInstanceState) {
        final String[] j = new String[] {
                getString(R.string.a1), getString(R.string.aa), getString(R.string.aaa), getString(R.string.aaaa), getString(R.string.aaaaa),
                getString(R.string.aaaaaa), getString(R.string.aaaaaaa), getString(R.string.bb), getString(R.string.bbb), getString(R.string.bbbb),
                getString(R.string.bbbbb), getString(R.string.c) };
        super.onCreate(savedInstanceState);
        setContentView(R.layout.list);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
 
        FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
        fab.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
                        .setAction("Action", null).show();
            }
        });
 
        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
        ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
                this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
        drawer.setDrawerListener(toggle);
        toggle.syncState();
 
        NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view2);
        navigationView.setNavigationItemSelectedListener(this);
        CheckBox a = (CheckBox) findViewById(R.id.checkBox);
Вот код xml файла, где находится элемент с ID checkBox (content_list.xml):
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:context="spsoft.passwordgenerator.list"
    tools:showIn="@layout/app_bar_list"
   >
 
    <CheckBox
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/a1"
        android:id="@+id/checkBox"
        android:layout_alignParentTop="true"
        android:layout_toRightOf="@+id/imageView3"
        android:layout_toEndOf="@+id/imageView3" />
И list.xml:
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
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="false"
    tools:openDrawer="start"
    android:background="#FFFFFF">
 
    <include
        layout="@layout/app_bar_list"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
 
    <android.support.design.widget.NavigationView
        android:id="@+id/nav_view2"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:fitsSystemWindows="true"
        app:headerLayout="@layout/nav_header_main"
        app:menu="@menu/activity_list_drawer"
        app:itemTextColor="#000000"
        app:itemIconTint="#000000"
        android:background="#FFFFFF"
        />
 
</android.support.v4.widget.DrawerLayout>
Я отправил все самое основное, если еще что-то нужно - пишите, я отправлю!
Заранее большое спасибо за помощь!
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.08.2016, 17:55
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка с xml разметкой после добавления Drawer (Программирование Android):

Не могу разобраться с разметкой xml - layout'a - Программирование Android
Не могу разобраться, как расставить элементы ровно... Никак не получается. Уже и Relative пробовал, и по-всякому. никак у меня элементы не...

Navigation Drawer - ошибка - Программирование Android
Возникает ошибка при установке drawerListener public class MainActivity extends Activity { String email; DrawerLayout...

Ошибка при создании бокового меню. Navigation Drawer - Программирование Android
Суть в чем. Делал по уроку. Там создавался класс. Например menu1 menu 2 и т.д и лейауты к ним( menu_layout1, menu_layout2 и т.д) я...

Обновление ListView после добавления записи - Программирование Android
Выбираю записи из БД и вывожу их в ListView. В этом же активити есть кнопка добавления записи в БД. После добавления я хочу что б эта...

Как обновить список RecyclerView после добавления item? - Программирование Android
Как обновить список RecyclerView после добавления item? список RecyclerView в DialogFragment, из контактов добавляется номер который...

После добавления кластеризации перестали выводиться нужные иконка - Программирование Android
после добавления кластеризации перестали выводиться нужные иконка, а именно: в зависимости от имени из запроса, я присваивал маркеру свою...

20
Pablito
2525 / 2004 / 624
Регистрация: 12.05.2014
Сообщений: 7,030
Завершенные тесты: 1
20.08.2016, 20:44 #16
zip файлы можно прикреплять до 10 мегабайт
0
SP Developer
0 / -2 / 0
Регистрация: 31.03.2016
Сообщений: 127
20.08.2016, 21:42  [ТС] #17
Спасибо, на всякий случай отправляю всю папку main проекта. Но там несложно разобраться
0
Вложения
Тип файла: zip main.zip (738.6 Кб, 2 просмотров)
Pablito
2525 / 2004 / 624
Регистрация: 12.05.2014
Сообщений: 7,030
Завершенные тесты: 1
20.08.2016, 22:44 #18
короче у меня все запустилось нормально
непонятно только почему в манифесте главной активити объявлена hhhhhhh а не MainActivity
0
SP Developer
0 / -2 / 0
Регистрация: 31.03.2016
Сообщений: 127
21.08.2016, 00:08  [ТС] #19
Паблито, в дровере в MainActivity нажмите "Мои пароли", и тогда вылетит... Или вы так и сделали и у вас вес равно не вылетело?
0
Pablito
2525 / 2004 / 624
Регистрация: 12.05.2014
Сообщений: 7,030
Завершенные тесты: 1
21.08.2016, 11:33 #20
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
по нажатию пункта в дровере стартует активити list
в ней основная разметка называется list.xml
в нее сделан include разметки app_bar_list.xml в которой тоже include content_main.xml

вопрос - а где чекбоксы? ясен пень что вылетает ошибка, их нет в этих раметках

от себя - код оч плох, его много, он нечитаем, рефакторингом там и не пахнет, тривиальнейшие вещи там делаются окольными путями
разметки тоже самое - полный хаос, одни только
XML
1
2
3
4
5
6
 <Space
        android:layout_width="20dp"
        android:layout_height="20dp"
        android:id="@+id/space"
        android:layout_toLeftOf="@+id/textView"
        android:layout_below="@+id/textView" />
чего стоят
1
SP Developer
0 / -2 / 0
Регистрация: 31.03.2016
Сообщений: 127
21.08.2016, 20:01  [ТС] #21
Паблито, спасибо большое!
0
21.08.2016, 20:01
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.08.2016, 20:01
Привет! Вот еще темы с ответами:

Не обновляется список после добавления item'a на страницу ViewPager? - Программирование Android
для добавления item в список используется отдельная активити, сама запись добавляется но при закрытии активити в списке не видна. ...

После добавления второго класса БД срабатывает исключение. Source not found - Программирование Android
Было приложение с одним классом БД. всё работало. Затем добавил второй класс БД. после этого в активити на строке Cursor c2 =...

После добавления рекламы в практически пустой проект размер файла 7,68 мегабайт - Программирование Android
После добавления рекламы в практически пустой проект (RelativeLayout+1Texview) размер файла 7,68 мегабайт. Написанная мною программа...

Подскажите с разметкой - Программирование Android
Что бы из верхнего лайута в нижней не лезло.Как сделать? &lt;RelativeLayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot; ...


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

Или воспользуйтесь поиском по форуму:
21
Ответ Создать тему
Опции темы

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