آموزش برنامه نویسی اندروید (Android)
۴۱۹ آموزش
نمایش دسته بندی ها (۴۱۹ آموزش)

چگونگی شناسایی عنصر تعریف شده در یک فایل xml ، در یک سرویس (Service) (چگونگی به کار بردن findViewById در یک سرویس)، در برنامه نویسی اندروید

فرض کنید که در یک فایل xml ، یک ImageView تعریف کرده ایم که برای شناسایی آن، باید کدهای زیر را در Activity بنویسیم :


ImageView view = (ImageView) findViewById(R.id.imageView1);

اما کدهای فوق، تنها برای آن Activity صحیح می باشد، زیرا فایل xml ای که ImageView در آن تعریف شده، فایل xml متناظر برای آن Activity است. اما اگر بخواهیم همین عنصر ImageView را در یک سرویس (Service) شناسایی کنیم، کدهای فوق با پیام خطا روبرو می شوند. بنابراین در ادامه، شیوه شناسایی عنصر مورد نظر در سرویس (Service) را شرح می دهیم.

به جای کدهای قبلی، کدهای زیر را در سرویس (Service) می نویسیم :


LayoutInflater inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.activity_main, null);
ImageView view = (ImageView) layout.findViewById(R.id.imageView1);

این کد به درستی می تواند عنصر ImageView مورد نظر را شناسایی کند (به آن ارجاع بدهد). دقت کنید که در کد بالا، فایل xml حاوی آن عنصر ImageView را با عبارت زیر ذکر کرده ایم (زیرا باید بداند در کدام فایل xml ، عنصر مورد نظر تعریف شده است) :


R.layout.activity_main

عبارت بالا، به فایل activity_main.xml اشاره کرده است.

نویسنده علیرضا گلمکانی
شماره کلید 2855
گزینه ها
به اشتراک گذاری (Share) در شبکه های اجتماعی
نظرات 0 0 0

ارسال نظر جدید (بدون نیاز به عضو بودن در وب سایت)