انجمن سایت کلیدستان


رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
تشخیص اکتیویتی در برنامه نویسی اندروید

تشخیص اکتیویتی در برنامه نویسی اندروید

#1
سلام
آیا میشود اکتیویتی کنونی که در اپلیکیشن باز است را شناسایی نمود؟ برای مثال اگر  MainActivity در برنامه باز بود با دستور if یک کد اجرا شود، و اگر SecondActivity باز بود دستوری دیگر اجرا شود زیرا من کلاسی از نوع TestCase در اپلیکیشن دارم که در چند اکتیویتی اجرا می‌شود و برای هر اکتیویتی باید دستوری متفاوت را اجرا کند.
با تشکر
پاسخ

تشخیص اکتیویتی در برنامه نویسی اندروید

#2
سلام.
برای به دست آوردن نام Activity فعلی (که در حال اجرای کدهای آن هستیم) و ذخیره کردن نام در یک رشته (String)، کد زیر را می نویسیم :

کد پی‌اچ‌پی:
String Activity_name this.getClass().getSimpleName(); 

دقت شود که این کد را در روش هایی (methods) مثل setOnClickListener (و OnClickListener) نمی توانیم به کار ببریم زیرا مقداری غیر از نام Activity به دست می آید. در این موارد، باید نام خود Activity هم در در کد ذکر شود (یعنی همان که دنبالش هستیم را باید بنویسیم !)، مثلا برای Activity با نام MainActivity ، باید کد زیر را بنویسیم :

کد پی‌اچ‌پی:
String Activity_name MainActivity.this.getClass().getSimpleName(); 

مثال کاملتر :

کد پی‌اچ‌پی:
        Button b = (ButtonfindViewById(R.id.button1);
        
b.setOnClickListener(new OnClickListener() {
                                 
            @
Override
            
public void onClick(View v) {
                
String Activity_name MainActivity.this.getClass().getSimpleName();
                
Toast.makeText(getApplicationContext(), Activity_nameToast.LENGTH_SHORT).show();
            }
       }); 

بنابراین شما از همان کد اول استفاده کنید و نام Activity را در یک رشته ذخیره نمایید و سپس از آن رشته، در روش های (method) مختلف استفاده نمایید.

bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ
 سپاس شده توسط ramtin2080 ، شماره مجازی امارات


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان