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

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

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

Программа вылетает при вызове метода getResourse() - Android

31.07.2016, 17:54. Просмотров 213. Ответов 16
Метки нет (Все метки)

Кликните здесь для просмотра всего текста
07-31 17:48:23.338 25853-25853/spsoft.passwordgenerator E/AndroidRuntime: FATAL EXCEPTION: main
Process: spsoft.passwordgenerator, PID: 25853
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{spsoft.passwordgenerator/spsoft.passwordgenerator.list}: 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:2641)
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 'android.content.res.Resources android.content.Context.getResources()' on a null object reference
at android.content.ContextWrapper.getResources(ContextWrapper.java:90)
at android.view.ContextThemeWrapper.getResources(ContextThemeWrapper.java:74)
at spsoft.passwordgenerator.list.<init>(list.java:37)
at java.lang.reflect.Constructor.newInstance(Native Method)
at java.lang.Class.newInstance(Class.java:1650)
at android.app.Instrumentation.newActivity(Instrumentation.java:1079)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2631)
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)*

Это лог... Просто Resources res = getResources() и вылетает. Это происходит в активности list, вот манифест:
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?xml version="1.0" encoding="utf-8"?>
 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="4" android:versionName="1.1.1" package="spsoft.passwordgenerator" platformBuildVersionCode="22" platformBuildVersionName="5.1.1-1819727">
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="22" />
 
    <application android:configChanges="locale" android:theme="@style/AppTheme" android:label="@string/app_name" android:icon="@drawable/pg" android:allowBackup="true" android:hardwareAccelerated="false" android:largeHeap="true">
        <activity  android:name="spsoft.passwordgenerator.hhhhh" android:screenOrientation="portrait">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:theme="@style/AppTheme" android:label="@string/app_name" android:name="spsoft.passwordgenerator.MainActivity" android:screenOrientation="portrait" />
        <activity android:theme="@style/AppTheme" android:label="@string/LangTitle" android:name="spsoft.passwordgenerator.Yazik" android:screenOrientation="portrait" />
        <activity android:theme="@style/AppTheme" android:label="@string/list" android:name="list" android:screenOrientation="portrait" />
        <activity android:label="@string/settings" android:name="spsoft.passwordgenerator.settings" />
        <activity android:label="@string/mla" android:name="spsoft.passwordgenerator.MyListActivity" />
    </application>
</manifest>
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.07.2016, 17:54     Программа вылетает при вызове метода getResourse()
Посмотрите здесь:

При запуске новой деятельности вылетает с ошибкой (программа легкая для тех, кто программирует под android) Android
Android Что происходит при вызове метода popBackStack?
При повороте на 90 градусов вылетает программа Android
При смене ориентации на land программа "вылетает" Android
Программа вылетает при вызове метода OnPrepareDialog Android
Android Программа вылетает после обновления на 5.0
Программа вылетает при переходе на ListActivity Android
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Паблито
2017 / 1759 / 548
Регистрация: 12.05.2014
Сообщений: 6,240
Завершенные тесты: 1
31.07.2016, 20:42     Программа вылетает при вызове метода getResourse() #2
код где?
и да - в манифесте бред сивой кобылы, но все равно без кода - гадание
SP Developer
0 / 0 / 0
Регистрация: 31.03.2016
Сообщений: 102
31.07.2016, 20:57  [ТС]     Программа вылетает при вызове метода getResourse() #3
Паблито, а какой код прислать? Всю активность прислать?
Паблито
2017 / 1759 / 548
Регистрация: 12.05.2014
Сообщений: 6,240
Завершенные тесты: 1
31.07.2016, 21:01     Программа вылетает при вызове метода getResourse() #4
ну да
OlegJV
102 / 102 / 29
Регистрация: 13.03.2016
Сообщений: 471
31.07.2016, 22:03     Программа вылетает при вызове метода getResourse() #5
Вторая попытка...
Vladimir93
33 / 33 / 4
Регистрация: 28.06.2015
Сообщений: 131
01.08.2016, 10:10     Программа вылетает при вызове метода getResourse() #6
Без кода, можно с уверенностью сказать только то, что у вас где то ресурсов нет, которые вы хотите использовать.
SP Developer
0 / 0 / 0
Регистрация: 31.03.2016
Сообщений: 102
01.08.2016, 10:16  [ТС]     Программа вылетает при вызове метода getResourse() #7
Активность слишком большая, я не могу отправить ее на форум. Так что вот пока кусок:
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
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
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
package spsoft.passwordgenerator;
 
import android.app.Activity;
import android.app.Dialog;
import android.content.ContentValues;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.res.Resources;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.preference.CheckBoxPreference;
import android.preference.PreferenceActivity;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.Gravity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
 
import java.security.DigestException;
import java.security.MessageDigest;
import java.security.MessageDigestSpi;
import java.util.Arrays;
import java.util.Comparator;
 
public class list extends AppCompatActivity implements OnClickListener {
    Resources res = getResources();
    SharedPreferences sp2;
    Dialog edit;
    Dialog add;
    String title = null;
    String dd = null;
    boolean[] turn = new boolean[] { false, false, false, false, false, false, false, false, false, false, false, false };
    private final int start = 0;
    private final int info = 1;
    private final int info2 = 2;
    private final int info3 = 3;
    private final int info4 = 4;
    private final int info5 = 5;
    private final int info6 = 6;
    private final int info7 = 7;
    private final int info8 = 8;
    private final int info9 = 9;
    private final int info10 = 10;
    private final int info11 = 11;
    private final int info12 = 12;
    private final int ads = 13;
    int sch = 0;
    int u = 0;
    String iii;
    String[] fuctions = { res.getString(R.string.fn1), res.getString(R.string.fn2), res.getString(R.string.fn3), res.getString(R.string.fn4), res.getString(R.string.fn5), res.getString(R.string.fn6)};
    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) };
    String description = null;
    String description2 = null;
    int check = 0;
    public void update() {
        Intent intent = new Intent(list.this, list.class);
        finish();
        startActivity(intent);
    }
    @Override
    protected void onCreate(Bundle savedInstanceState) {
 
        super.onCreate(savedInstanceState);
        setContentView(R.layout.list);
        CheckBox a = (CheckBox) findViewById(R.id.checkBox);
        CheckBox b = (CheckBox) findViewById(R.id.checkBox2);
        CheckBox c = (CheckBox) findViewById(R.id.checkBox3);
        CheckBox d = (CheckBox) findViewById(R.id.checkBox4);
        CheckBox e = (CheckBox) findViewById(R.id.checkBox5);
        CheckBox f = (CheckBox) findViewById(R.id.checkBox6);
        CheckBox g = (CheckBox) findViewById(R.id.checkBox7);
        CheckBox h = (CheckBox) findViewById(R.id.checkBox8);
        CheckBox i = (CheckBox) findViewById(R.id.checkBox9);
        CheckBox jj = (CheckBox) findViewById(R.id.checkBox10);
        CheckBox k = (CheckBox) findViewById(R.id.checkBox11);
        CheckBox l = (CheckBox) findViewById(R.id.checkBox12);
        Button deleting = (Button) findViewById(R.id.button7);
        Button ever = (Button) findViewById(R.id.button8);
        Button cancel = (Button) findViewById(R.id.button10);
        add = new Dialog(list.this);
        add.setTitle(getString(R.string.wywtd));
        add.setContentView(R.layout.add);
        final EditText adding = (EditText) add.findViewById(R.id.editText2);
        Button addok = (Button) add.findViewById(R.id.button13);
        edit = new Dialog(list.this);
        edit.setTitle(R.string.pd);
        edit.setContentView(R.layout.edit);
        final EditText des = (EditText) edit.findViewById(R.id.editText);
        Button ok = (Button) edit.findViewById(R.id.button11);
        sp2 = getSharedPreferences("MyPref", MODE_PRIVATE);
        final SharedPreferences.Editor edg = sp2.edit();
        if (sp2.getString("sort", "").equals("1")) {
            int bbb = 0;
            for (int jh = 1; jh<=12; jh++) {
                bbb = 0;
                for (int ii = 1; ii <= 12; ii++) {
                    String num = "rp" + Integer.toString(ii);
                    String num2 = "rp" + Integer.toString(ii + 1);
                    String descr = "p" + Integer.toString(ii);
                    String descr2 = "p" + Integer.toString(ii + 1);
                    String ipw = "i" + Integer.toString(ii);
                    String ipw2 = "i" + Integer.toString(ii + 1);
                    if (sp2.getInt(num2, 0) > sp2.getInt(num, 0)) {
                        bbb = 1;
                        int swap = sp2.getInt(num, 0);
                        edg.putInt(num, sp2.getInt(num2, 0));
                        edg.putInt(num2, swap);
                        String swapstr = sp2.getString(descr, "");
                        edg.putString(descr, sp2.getString(descr2, ""));
                        edg.putString(descr2, swapstr);
                        String pw = sp2.getString("s"+descr, "");
                        edg.putString("s" + descr, sp2.getString("s"+descr2, ""));
                        edg.putString("s" + descr2, pw);
                        String swapicon = sp2.getString(ipw, "");
                        edg.putString(ipw, sp2.getString(ipw2, ""));
                        edg.putString(ipw2, swapicon);
                        edg.commit();
 
                    }
                }
            }
        }
        if (sp2.getString("sort", "").equals("3")) {
            int bbb = 0;
            for (int jh = 1; jh<=12; jh++) {
                bbb = 0;
                for (int ii = 1; ii <= 12; ii++) {
                    String num = "rp" + Integer.toString(ii);
                    String num2 = "rp" + Integer.toString(ii + 1);
                    String descr = "p" + Integer.toString(ii);
                    String descr2 = "p" + Integer.toString(ii + 1);
                    String ipw = "i" + Integer.toString(ii);
                    String ipw2 = "i" + Integer.toString(ii + 1);
                    if (sp2.getString(descr2, "").compareTo(sp2.getString(descr, "")) < 0 ) {
                        if (sp2.getString(descr2, "") != "")
                            if (sp2.getString(descr, "") != "") {
                                bbb = 1;
                                int swap = sp2.getInt(num, 0);
                                edg.putInt(num, sp2.getInt(num2, 0));
                                edg.putInt(num2, swap);
                                String swapstr = sp2.getString(descr, "");
                                edg.putString(descr, sp2.getString(descr2, ""));
                                edg.putString(descr2, swapstr);
                                String pw = sp2.getString("s" + descr, "");
                                edg.putString("s" + descr, sp2.getString("s" + descr2, ""));
                                edg.putString("s" + descr2, pw);
                                String swapicon = sp2.getString(ipw, "");
                                edg.putString(ipw, sp2.getString(ipw2, ""));
                                edg.putString(ipw2, swapicon);
                                edg.commit();
                            }
                    }
                }
            }
        }
 
        if (sp2.getString("p1", "") != "") {
            j[0] = sp2.getString("p1", "");
        }
        if (sp2.getString("p2", "") != "") {
            j[1] = sp2.getString("p2", "");
        }
        if (sp2.getString("p3", "") != "") {
            j[2] = sp2.getString("p3", "");
        }
        if (sp2.getString("p4", "") != "") {
            j[3] = sp2.getString("p4", "");
        }
        if (sp2.getString("p5", "") != "") {
            j[4] = sp2.getString("p5", "");
        }
        if (sp2.getString("p6", "") != "") {
            j[5] = sp2.getString("p6", "");
        }
        if (sp2.getString("p7", "") != "") {
            j[6] = sp2.getString("p7", "");
        }
        if (sp2.getString("p8", "") != "") {
            j[7] = sp2.getString("p8", "");
        }
        if (sp2.getString("p9", "") != "") {
            j[8] = sp2.getString("p9", "");
        }
        if (sp2.getString("p10", "") != "") {
            j[9] = sp2.getString("p10", "");
        }
        if (sp2.getString("p11", "") != "") {
            j[10] = sp2.getString("p11", "");
        }
        if (sp2.getString("p12", "") != "") {
            j[11] = sp2.getString("p12", "");
        }
        ImageView p1 = (ImageView) findViewById(R.id.imageView2);
        ImageView p2 = (ImageView) findViewById(R.id.imageView3);
        ImageView p3 = (ImageView) findViewById(R.id.imageView4);
        ImageView p4 = (ImageView) findViewById(R.id.imageView5);
        ImageView p5 = (ImageView) findViewById(R.id.imageView6);
        ImageView p6 = (ImageView) findViewById(R.id.imageView7);
        ImageView p7 = (ImageView) findViewById(R.id.imageView8);
        ImageView p8 = (ImageView) findViewById(R.id.imageView9);
        ImageView p9 = (ImageView) findViewById(R.id.imageView10);
        ImageView p10 = (ImageView) findViewById(R.id.imageView11);
        ImageView p11 = (ImageView) findViewById(R.id.imageView12);
        ImageView p12 = (ImageView) findViewById(R.id.imageView13);
        ok.setOnClickListener(this);
        a.setText("" + j[0]);
        b.setText("" + j[1]);
        c.setText("" + j[2]);
        d.setText("" + j[3]);
        e.setText("" + j[4]);
        f.setText("" + j[5]);
        g.setText("" + j[6]);
        h.setText("" + j[7]);
        i.setText("" + j[8]);
        jj.setText("" + j[9]);
        k.setText("" + j[10]);
        l.setText("" + j[11]);
        int y = R.drawable.pg;
        switch (sp2.getString("i1", "")) {
            case "skype":
                y = R.drawable.skype;
                break;
            case "vk":
                y = R.drawable.vk2;
                break;
            case "facebook":
                y = R.drawable.facebook;
                break;
            case "twitter":
                y = R.drawable.twitter;
                break;
            case "борьба умов":
                y = R.drawable.quiz;
                break;
            case "google":
                y = R.drawable.google;
                break;
            case "app store":
                y = R.drawable.appstore;
                break;
            case "телефон":
                y = R.drawable.phone;
                break;
            case "компьютер":
                y = R.drawable.comp;
                break;
            case "viber":
                y = R.drawable.viber;
                break;
            case "visa":
                y = R.drawable.visa;
                break;
            case "mastercard":
                y = R.drawable.mc;
                break;
            case "gmail":
                y = R.drawable.gmail;
                break;
            case "instagramm":
                y = R.drawable.ins;
                break;
            case "wiki":
                y = R.drawable.wiki;
                break;
            case "yandex":
                y = R.drawable.yandex;
                break;
            case "wifi":
                y = R.drawable.wi;
                break;
            case "utorrent":
                y = R.drawable.utorrent;
                break;
            case "steam":
                y = R.drawable.steam;
                break;
            case "4pda":
                y = R.drawable.pda;
                break;
            case "tut.by":
                y = R.drawable.tut;
                break;
            case "почта":
                y = R.drawable.mail;
                break;
        }
        p1.setImageResource(y);
        y = R.drawable.pg;
        switch (sp2.getString("i2", "")) {
            case "skype":
                y = R.drawable.skype;
                break;
            case "vk":
                y = R.drawable.vk2;
                break;
            case "facebook":
                y = R.drawable.facebook;
                break;
            case "twitter":
                y = R.drawable.twitter;
                break;
            case "борьба умов":
                y = R.drawable.quiz;
                break;
            case "google":
                y = R.drawable.google;
                break;
            case "app store":
                y = R.drawable.appstore;
                break;
            case "телефон":
                y = R.drawable.phone;
                break;
            case "компьютер":
                y = R.drawable.comp;
                break;
            case "viber":
                y = R.drawable.viber;
                break;
            case "visa":
                y = R.drawable.visa;
                break;
            case "mastercard":
                y = R.drawable.mc;
                break;
            case "gmail":
                y = R.drawable.gmail;
                break;
            case "instagramm":
                y = R.drawable.ins;
                break;
            case "wiki":
                y = R.drawable.wiki;
                break;
            case "yandex":
                y = R.drawable.yandex;
                break;
            case "wifi":
                y = R.drawable.wi;
                break;
            case "utorrent":
                y = R.drawable.utorrent;
                break;
            case "steam":
                y = R.drawable.steam;
                break;
            case "4pda":
                y = R.drawable.pda;
                break;
            case "tut.by":
                y = R.drawable.tut;
                break;
            case "почта":
                y = R.drawable.mail;
                break;
        }
        p2.setImageResource(y);
        y = R.drawable.pg;
Добавлено через 50 секунд
Vladimir93, я все проверял, они есть

Добавлено через 25 секунд
и выводил через logcat, все на месте

Добавлено через 55 секунд
И тут просто при вызове метода getResources() вылетает, а не при вызове конкретного ресурса
Паблито
2017 / 1759 / 548
Регистрация: 12.05.2014
Сообщений: 6,240
Завершенные тесты: 1
01.08.2016, 10:17     Программа вылетает при вызове метода getResourse() #8
Цитата Сообщение от SP Developer Посмотреть сообщение
String[] fuctions = { res.getString(R.string.fn1), res.getString(R.string.fn2), res.getString(R.string.fn3), res.getString(R.string.fn4), res.getString(R.string.fn5), res.getString(R.string.fn6)}; 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) };
это все нельзя просто так взять и инициализировать в шапке класса
это нужно инициализаровать как минимум в onCreate
то есть объявить это String и т.д. как поля класса, а потом в onCreate
Java
1
2
3
4
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) };
CoolMind
418 / 401 / 65
Регистрация: 06.10.2012
Сообщений: 1,723
01.08.2016, 10:19     Программа вылетает при вызове метода getResourse() #9
SP Developer, ну вы, блин, даёте!
Resources res = getResources(); вызывается до onCreate!
SP Developer
0 / 0 / 0
Регистрация: 31.03.2016
Сообщений: 102
01.08.2016, 10:27  [ТС]     Программа вылетает при вызове метода getResourse() #10
Паблито, CoolMind, я говорил о том, что в шапке класса, но мне никто тогда ничего не сказал... спасибо!
OlegJV
102 / 102 / 29
Регистрация: 13.03.2016
Сообщений: 471
01.08.2016, 10:48     Программа вылетает при вызове метода getResourse() #11
А startAcrivity вызывается после finish. Жесть, конечно.
Vladimir93
33 / 33 / 4
Регистрация: 28.06.2015
Сообщений: 131
01.08.2016, 10:57     Программа вылетает при вызове метода getResourse() #12
ИМХО очень много всего в onCreate. Может зависать и ANR кидать.
P.S. По ресурсам уже ответили.
CoolMind
418 / 401 / 65
Регистрация: 06.10.2012
Сообщений: 1,723
01.08.2016, 13:46     Программа вылетает при вызове метода getResourse() #13
Цитата Сообщение от OlegJV Посмотреть сообщение
А startAcrivity вызывается после finish. Жесть, конечно.
Я тоже так делаю. И после dismiss(); в диалогах тоже что-нибудь, бывает, пишу.
akyma40
16 / 15 / 3
Регистрация: 20.05.2015
Сообщений: 103
01.08.2016, 13:57     Программа вылетает при вызове метода getResourse() #14
Просто запомните что переменные как правило не инициализируются вне конструктора класса (только те, что finish). Инициализируйте все в конструкторе класса, для Activity это onCreate, а для обычных классов в конструкторе класса... И все будет лучше (не гарантировано, но таких ошибок уже не должно быть...)
CoolMind
418 / 401 / 65
Регистрация: 06.10.2012
Сообщений: 1,723
01.08.2016, 14:03     Программа вылетает при вызове метода getResourse() #15
akyma40, присоединюсь, только onCreate - это не конструктор, а один из методов. Я вообще стараюсь все создания объектов убрать из объявления. Очень не люблю видеть что-нибудь такое:
Java
1
2
класс ... extends Activity;
    private SomeClass obj = new SomeClass(10);
Ещё и отладчик туда лишний раз заходит.
Паблито
2017 / 1759 / 548
Регистрация: 12.05.2014
Сообщений: 6,240
Завершенные тесты: 1
01.08.2016, 14:05     Программа вылетает при вызове метода getResourse() #16
Цитата Сообщение от akyma40 Посмотреть сообщение
Просто запомните что переменные как правило не инициализируются вне конструктора класса (только те, что finish). Инициализируйте все в конструкторе класса, для Activity это onCreate, а для обычных классов в конструкторе класса... И все будет лучше (не гарантировано, но таких ошибок уже не должно быть...)
совет из серии "я сказал много, но по сути - половина непонятное нечто"
- что значит "как правило"? где надо - там и инициализируем переменные
- нет такого модификатора "finish", есть final
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.08.2016, 14:26     Программа вылетает при вызове метода getResourse()
Еще ссылки по теме:

Android Программа вылетает при прокрутке ListActivity
Android вылетает программа
Android Программа вылетает при запуске. OutOfMemryError
Null при вызове метода из другого класса Android
Подскажите - программа вылетает в OnCreate Android

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

Или воспользуйтесь поиском по форуму:
akyma40
16 / 15 / 3
Регистрация: 20.05.2015
Сообщений: 103
01.08.2016, 14:26     Программа вылетает при вызове метода getResourse() #17
Паблито, как правило - это в большинстве случаев. Про finish извините, это автокоррекция ну не все нужно там инициализировать, но тем не менее, если у человека возникают такие ошибки, лучше там

Добавлено через 1 минуту
CoolMind, просто я никогда не писал и не видел чтобы кто то писал конструктор для активити, а onCreate это фактически тот же конструктор, только для activity
Yandex
Объявления
01.08.2016, 14:26     Программа вылетает при вызове метода getResourse()
Ответ Создать тему
Опции темы

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