Nima uchun niyatim ishlamayapti?

Men tugmachani bosganimda, dastur buzilmoqda. Kodni disk raskadrovka qilar ekanman, oxirida "Looper.java" faylini bloklashadi. Bu nom bilan hech qanday faylim yo'q.

MainActivity.java

private void signIn() {

   Intent intent = new Intent(MainActivity.this, Main_Tab.class);
    startActivity(intent);
    setContentView(R.layout.activity_main_home);
}

Looper.java

try {
            msg.target.dispatchMessage(msg);
        } finally {
            if (traceTag != 0) {
                Trace.traceEnd(traceTag);
            }
        }
0
Birinchidan, disk raskadrovka kodingiz sizni Looper ga olib boradigan tashvish emas. Oddiy Java-da main funksiyasi kodga kirish nuqtasidir, ammo Androidda kodingizni chaqiradigan ko'plab yadro fayllar mavjud. Masalan, Activity.onCreate kodini bekor qilsangiz, Activity.onCreate deb nomlangan ba'zi kod bo'lishi kerak. Shunday qilib, kodni disk raskadrovka qilganingizda, u faylga etib boradi. Looper bilan oddiygina gaplashish mumkin.
qo'shib qo'ydi muallif Sangharsh, manba
Looper Android qismidir
qo'shib qo'ydi muallif Sangharsh, manba
Iltimos, ayting-chi, nima uchun men uni o'sha faylga qayta yo'naltirishni ayta olasizmi?
qo'shib qo'ydi muallif varun pandey, manba

6 javoblar

private void signIn() {
    Intent intent = new Intent(MainActivity.this, Main_Tab.class);
    startActivity(intent);
}

Bu harakatni boshlashdan oldin setContentView usulini chaqirmang.

0
qo'shib qo'ydi
Siz allaqachon sinovdan o'tgansiz.
qo'shib qo'ydi muallif varun pandey, manba

Quyidagi satr faoliyatni boshlashdan oldin bo'lishi kerak.

setContentView(R.layout.activity_main_home);

chunki yangi faoliyatni boshlaganingizda, eski kontent o'rniga yangi kontent ko'rinadi. bu shunday bo'lishi kerak.

private void signIn() {
   setContentView(R.layout.activity_main_home);
   Intent intent = new Intent(MainActivity.this, Main_Tab.class);
    startActivity(intent);

}
0
qo'shib qo'ydi
harakatingizni manifestda aniqlaysizmi?
qo'shib qo'ydi muallif Mehran Zamani, manba
MainActivity onCreate saytida setcontentview sizmi?
qo'shib qo'ydi muallif Mehran Zamani, manba
Menga barcha kodni bering va men o'zimni derazam qilaman va natijalarni sizga qaytarib berishni va'da qilaman, ammo bu ma'lumotlarning miqdori bilan nima noto'g'ri ekanligini taxmin qilaman
qo'shib qo'ydi muallif Mehran Zamani, manba
qo'shib qo'ydi muallif Mehran Zamani, manba
Hazrat, agar men bo'lmasam, asosiy faoliyatim birinchi navbatda boshlamaydi.
qo'shib qo'ydi muallif varun pandey, manba
Iltimos, menga facebookni yuboring, sizni so'rovni yuboraman
qo'shib qo'ydi muallif varun pandey, manba
Ha. Men bajardim. Har bir narsani qildim, lekin ilova to'xtab qolmoqda.
qo'shib qo'ydi muallif varun pandey, manba
Kechirasiz. Lekin bir xil xato. Lekin bu safar, meni looper.java-ga yuborish o'rniga, uni noutbukda intent.java-ga yo'naltirish.
qo'shib qo'ydi muallif varun pandey, manba

Bunga bunga ijozat bergichni o'zgartiring

private void signIn() {

Intent intent = new Intent(context, Main_Tab.class);
startActivity(intent);
finish();
}

va onCreate konstruktorida allaqachon yo'q bo'lsa buni qo'shing.

final Context context = this;

Siz hali ham muammolarga duch kelsangiz, menga xabar bering.

0
qo'shib qo'ydi

onCreate() usuli har doim bu ikki qatorni yuqori -

 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);

Shunday qilib, onClickListener() tizimiga kerak bo'lgan barcha narsa, bu holda signIn() bular.

Intent intent = new Intent(MainActivity.this, Main_Tab.class);
startActivity(intent)

Ilova hali ham ishlamayotgan bo'lsa, Main_Tab onCreate() usulini disk raskadrovka qiling va kundalik hisobotni joylashtiring.

0
qo'shib qo'ydi
Andriod studiyasida File-> Noto'g'ri keshlarni bekor qilish/qayta ishga tushirish-> bekor qilish va Android studiyasini qayta ishga tushiring. Bundan tashqari, loyihangizni tozalang va qayta qurasiz.
qo'shib qo'ydi muallif samirk433, manba
Bu siz uchun so'raganmi?
qo'shib qo'ydi muallif varun pandey, manba
Bu voqea REDni olishda Log 7:47:33 PM InvalidVirtualFileAccessException: yaroqsiz virtual faylga kirish: fayl://D:/android studio ish maydoniga/NIDHIIOT/app/build/intermediates/port-aar/com. Android .support/mult & zwnj; idex-instrumentation & zwnj; /1.0.1/res; original: 267030; topildi: -
qo'shib qo'ydi muallif varun pandey, manba

Main_Tab.class "AppCompatActivity" kabi bir necha faoliyat sinfini cho'zganiga aminmisiz? Ko'zimni tutib turgan narsa - bu Main_Tab-dagi pastki chizg'ichni ishlatishdir, lekin menimcha, bu mening tuyaning sinfi nomini berish uchun shaxsiy afzalligim.

Bundan tashqari quyidagilarni olib tashlashga harakat qilib ko'ring:

setContentView(R.layout.activity_main_home);
0
qo'shib qo'ydi
Ha janob. Main_Tab klassi AppCompactActivity xizmatini kengaytiradi
qo'shib qo'ydi muallif varun pandey, manba

buni sinab ko'ring

private void signIn() {
    Intent intent = new Intent(MainActivity.this, Main_Tab.class);
    startActivity(intent);    
}
0
qo'shib qo'ydi
qo'shib qo'ydi muallif GhostCat, manba