Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 27.03.2017
Сообщений: 17
1

Приложение вылетает в эмуляторе при нажатии кнопки для переключения между активити

04.03.2019, 18:07. Показов 1270. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Я сделал обычное переключение между активити в обработчике события для кнопки:
Java
1
2
3
4
  public void onClickLogin (View v) {
        Intent intent = new Intent (MainActivity.this, LoginActivity.class);
        startActivity(intent);
    }
Но при нажатии на эту кнопку в эмуляторе происходит ошибка и приложение вылетает.

Что выводится в логе:
Код
2019-03-04 20:38:34.940 3940-3940/com.example.qtest E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.qtest, PID: 3940
    java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.qtest/com.example.qtest.LoginActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.Resources android.content.Context.getResources()' on a null object reference
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2548)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707)
        at android.app.ActivityThread.-wrap12(ActivityThread.java)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:154)
        at android.app.ActivityThread.main(ActivityThread.java:6077)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756)
     Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.Resources android.content.Context.getResources()' on a null object reference
        at android.content.ContextWrapper.getResources(ContextWrapper.java:86)
        at android.view.ContextThemeWrapper.getResourcesInternal(ContextThemeWrapper.java:127)
        at android.view.ContextThemeWrapper.getResources(ContextThemeWrapper.java:121)
        at android.support.v7.app.AppCompatActivity.getResources(AppCompatActivity.java:542)
        at android.content.Context.getString(Context.java:476)
        at com.example.qtest.LoginActivity.<init>(LoginActivity.java:34)
        at java.lang.Class.newInstance(Native Method)
        at android.app.Instrumentation.newActivity(Instrumentation.java:1078)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2538)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707)*
        at android.app.ActivityThread.-wrap12(ActivityThread.java)*
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460)*
        at android.os.Handler.dispatchMessage(Handler.java:102)*
        at android.os.Looper.loop(Looper.java:154)*
        at android.app.ActivityThread.main(ActivityThread.java:6077)*
        at java.lang.reflect.Method.invoke(Native Method)*
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)*
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756)*
Что делать с этим я понятия не имею. Помогите пожалуйста, уже третий день думаю.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.03.2019, 18:07
Ответы с готовыми решениями:

При нажатии на кнопку приложение вылетает
Только начинаю изучать swift и возникла такая проблема: пишу простенькое приложение, на экране три...

Вылетает приложение при нажатии на кнопку
Здравствуйте, столкнулся с проблемой, что при нажатии на кнопку приложение вылетает. Программирую в...

Приложение работает на эмуляторе но вылетает на телефоне
Происходит такая ошибка: При тестировании приложении на эмуляторе, все работает так же как и...

Фрагменты: приложение вылетает при 4-ом нажатии на кнопку
Здравствуйте, в фрагменте есть кнопка, при нажатии на неё 3 раза приложение работает, на 4...

5
111 / 89 / 29
Регистрация: 07.01.2017
Сообщений: 456
04.03.2019, 19:43 2
Паксютов Дмитри, покажи onCreate() в LoginActivity.
0
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
04.03.2019, 23:29 3
Цитата Сообщение от Паксютов Дмитри Посмотреть сообщение
getResources()' on a null object reference
Надо найти этот метод и исправить.
1
0 / 0 / 0
Регистрация: 27.03.2017
Сообщений: 17
06.03.2019, 16:08  [ТС] 4
Вот onCreate() в LoginActivity.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);
 
        loginLayout = (ConstraintLayout) findViewById(R.id.LoginLayout);
        txNeckName = (EditText) findViewById (R.id.editTxNeckName);
        txPassword = (EditText) findViewById(R.id.editTxPassword);
        txErrorLog = (TextView) findViewById(R.id.textError);
 
        RegLayout = (ConstraintLayout) findViewById(R.id.RegistrationLayout);
        txEmaile = (EditText) findViewById(R.id.editTxEmaile);
        txLogin = (EditText) findViewById(R.id.editTxLogin2);
        txPass1 = (EditText) findViewById(R.id.editTxPassword1);
        txPass2 = (EditText) findViewById(R.id.editTxPassword2);
        txErrorReg = (TextView) findViewById(R.id.textErrorReg);
    }
А вот обработчики для кнопок этой активити если понадобится:
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
 public void onClickLogin (View v) {
        String NeckName = txNeckName.getText().toString();
        String Password = txPassword.getText().toString();
        String json = "{ " + w + "neckname" + w + " : " + w + NeckName + w + ", " + w + "pass" + w + " : " + w + Password + w + " }";
        Log.d("json ", json);
        String Result = postReq.PostRequest("http://192.168.1.214:8080/", json);
        try {
            JSONObject result = new JSONObject(Result);
            Sesseon_id = result.getString ("Session_id");
            txErrorLog.setText ("@string/login");
        } catch (JSONException e) {
            e.printStackTrace();
        }
        try {
            FileOutputStream f = openFileOutput("infUser", MODE_PRIVATE);
            String text = Sesseon_id + " " + NeckName;
            f.write(text.getBytes());
            f.close();
        } catch(IOException ex) {
 
        }
    }
 
    public void OnClickReg (View v) {
        loginLayout.setVisibility(View.GONE);
        RegLayout.setVisibility(View.VISIBLE);
    }
 
    public void OnClickRegistration (View v) {
        String Email = txEmaile.getText().toString();
        String Login = txLogin.getText().toString();
        String pass1 = txPass1.getText().toString();
        String pass2 = txPass2.getText().toString();
        String json;
        String Response;
        JSONObject response;
 
        if (pass1 == pass2) {
            json = "{ " + w + "mail" + w + " : " + w + Email + w + ", " + w + "pass"
                    + w + " : " + w + pass1 + w + ", " + w + "nickname" + " : " + w + " : " + w + Login + w + " }";
            Log.d ("json", json);
            Response = postReq.PostRequest("", json);
            try {
                response = new JSONObject(Response);
                if (response.getString("ResponseType") == "Confirm") {
                    txErrorReg.setText("@string/Confirm");
                } else if (response.getString("ResponseType") == "Error") {
                    txErrorReg.setText(response.getString("Error"));
                }
            } catch (JSONException e) {
                e.printStackTrace();
            }
        } else {
            txErrorReg.setText("@string/errorPassword");
        }
    }
0
111 / 89 / 29
Регистрация: 07.01.2017
Сообщений: 456
06.03.2019, 16:15 5
Паксютов Дмитри, что еще в LoginActivity есть? Методы какие?

Добавлено через 2 минуты
Паксютов Дмитри, + поля и прочее.
0
0 / 0 / 0
Регистрация: 03.04.2016
Сообщений: 69
06.03.2019, 17:32 6
Можете попробовать использовать это:
Java
1
2
3
4
5
6
7
public void onClickLogin (View v) {
 switch (v.getId()){
            case R.id.bButton:// Ваша кнопка         
               startActivity(new Intent(this, LoginActivity.class));
                break;
        }
    }
В методе onCreate добавьте следующее:
Java
1
2
 bButton = (Button)findViewById(R.id.bButton);
        bButton.setOnClickListener(this);
Или же можете использовать это, так же в методе onCreate:
Java
1
2
3
4
5
6
7
8
  bButton = (Button)findViewById(R.id.bButton);
        bButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity.this, LoginActivity.class);
                startActivity(intent);
            }
        });
0
06.03.2019, 17:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.03.2019, 17:32
Помогаю со студенческими работами здесь

Приложение вылетает без ошибок(на эмуляторе и на телефоне)
Добрый день! При запуске на эмуляторе или реальном телефоне приложение вылетает без единой ошибки....

Приложение вылетает после перехода на новое активити
Здравствуйте, уважаемые программисты! Не могли бы вы мне помочь? Программа выдает ошибку и...

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

Убить приложение при нажатии кнопки
Здравствуйте. Нужно сделать кнопку выхода из приложения, но так, чтобы оно полностью убивалось, а...

При нажатии кнопки виснет приложение
procedure TForm1.Button2Click(Sender: TObject); var N,d:integer; {объявляем переменные N,i и d...

Кнопки переключения между картинками
На форме имеются: pictureBox1, button1 и button2. Не получается сделать так, чтобы при нажатии на...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru