بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

دوستان لطفآ کمک

مدیریت گفتگو
MiLAD 10 سال پیش
آخرین تغییر: 10 سال پیش

دوستان من ی برنامه نوشتم تمامه دیگه .. یک مشکل اساسی داره..

مشکل اینجاست که با زدن فلش back گوشی ، نرم افزار کرش می کنه... هیچ موردی هم نداره برنامه چون عملیات مورد نظر با موفقیت انجام میشه. چطور می تونم دکمه backرو غیر فعال کنم؟؟؟؟ خودم ی دکمه جداگانه بذارم واسش؟؟

لطفاً کمک کنید چون کلی زحمت کشیدم تا این برنامه رو به اینجا رسوندم.

نظرات

MiLAD 10 سال پیش
اعصابم بهم ریخته با این کرش..
Sajad HP 10 سال پیش
دوست عزیز وقتی این اتفاق رخ میده یعنی یه جای کار مشکل داره.. باید کد هاتون رو اصلاح کنید. مطمئن باشید که با غیرفعال کردن کلید بازگشت کار درستی انجام نمیدین... ولی من براتون کدش رو قرار میدم در پایین :
MiLAD 10 سال پیش
آخه کد خاصی توی اون صفحه نیست.. همه برنامه کامل اجرا میشه
MiLAD 10 سال پیش
اگه راهکاری هست بفرمائید..... توی پست های گذشته هم دوستانی با این مشکل برخورد کردن ولی کسی نتونسته جواب بده

پاسخ‌ها 3

Sajad HP 10 سال پیش

 @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK)
        {
            return true; 
        }
        return super.onKeyDown(keyCode, event);
    }

نظرات

MiLAD 10 سال پیش
ممنونم بررسی کنم ببینم حل میشه..
Sajad HP 10 سال پیش
بنظرم بهتر هست تا در مورد android activity life cycle بیشتر تحقیق کنید. ..
MiLAD 10 سال پیش
میشه ی توضیح کوتاهی بدین که چی هستش؟؟ معنیش که میشه چرخه حیات اکتیویتی ها
Sajad HP 10 سال پیش
بله معنیش درسته .. ولی اگه از service یا fragment ها استفاده میکنید این چرخه یکم متفاوت هست ... براتون لینک قرار میدم مطالعه کنید :
Sajad HP 10 سال پیش
بنظر خوب و واضح توضیح داده شده تو لینک بالا . مشکلی بود مطرح کنید.
MiLAD 10 سال پیش
متشکرم
MiLAD 10 سال پیش
آقا سجاد... نه متاسفانه کلا برگشت از این فرم کرش میکنه... ظاهراً استفاده از کد اشتراک گذاری هستش..
Sajad HP 10 سال پیش
از همون اول گفتم مشکل پا برجا میمونه... باید از لینکی که قرار دادم استفاده کنید و متد هایی که لازمه رو override کنید تا مشکل به صورت کامل حل بشه .. مثل ( onPause و onStop )
MiLAD 10 سال پیش
تمام متد ها رو override کردم نشد.. از روش کلاس G هم استفاده کردم نشد...
Sajad HP 10 سال پیش
اقا میلاد عزیز فقط override کردن کافی نیست باید عملیاتی که باعث satisfy شدن کدهاتون میشه رو هم تو متد override شده بنویسین...
MiLAD 10 سال پیش

این کد هستش...

 img_share.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {
                Intent shareIntent = new Intent(Intent.ACTION_SEND);
                shareIntent.setType("text/plain");
                shareIntent.putExtra(Intent.EXTRA_TEXT,
                        emdad.getOnvan() + "\n" + emdad.getNevisande() + "\n"
                                + emdad.getMatn() + "\n منبع: ");
                shareIntent.putExtra(Intent.EXTRA_SUBJECT, emdad.getOnvan());
                G.currentActivity.startActivity(Intent.createChooser(shareIntent, "اشتراک گذاری..."));
                // code marbut be share ro vasatun tu site mizaram
            }
        });
    }

نظرات

Sajad HP 10 سال پیش
در ادامه کدهای همین سورسی که قرار دادین (اکتیویتی) متدی به نام onActivityResult هم نوشته شده ؟
MiLAD 10 سال پیش
نه ... دو متد هستش که override شده @Override protected void onPause() { لینک TODO Auto-generated method stub super.onPause(); db.updateContact(emdad); db.close();// vaghti be activity ghabl bargasht dade shod db ro mibandim لینک ta etelaat az byn nare } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { return true; } return super.onKeyDown(keyCode, event); } }
MiLAD 10 سال پیش

این دو متد نوشته شدن... ادامه این خط کد ها

  @Override
    protected void onPause() {
        // TODO Auto-generated method stub
        super.onPause();
        db.updateContact(emdad);
        db.close();// vaghti be activity ghabl bargasht dade shod db ro mibandim
                   // ta etelaat az byn nare
    }


    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK)
        {
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }
}

نظرات


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .