سلام
پروژه ای با سرویس به کمک
http://www.kelidestan.com/forum/showthread.php?tid=4811 ساخته ام و روی اون button قرار داده ام اکنون کلید 2855 را خواندم اما برای استفاده از button یا ToggleButton در سرویس نتوانستم از آن استفاده کنم .
لطفا راهنمایی بفرمایید که onclicklistener چگونه در سرویس استفاده می شود
ممنونم
سلام.
Button را در کجا قرار داده اید (چون در آن پروژه، کاربر با اشاره بر روی خود پیام نمایش داده شده، به یک Activity از برنامه اندروید وارد می شد) ؟
همچنین بخش مربوط به شناسایی Button و بقیه کدهای آن (مربوط به Button ) را ذکر کنید و بفرمایید که از کدام خط از کدها، خطا می گیرد و عبارت خطا چیست.
این دو خط از کدها را ببینید :
کد پیاچپی:
Button view = (Button) layout.findViewById(R.id.button14);
button14.setOnClickListener((OnClickListener) this); <======= error line button14
شما Button را با نام view شناسایی کرده اید، ولی در خط بعد، نام button14 را به کار برده اید (که id آن می باشد). شما باید همان نامی را به کار ببرید که برای شناسایی Button انتخاب کرده اید (در اینجا view). همچنین نام انتخابی نیز مناسب نمی باشد و نام view را برای موردی به کار ببرید که از جنس View باشد.
همچنین کدهای روش setOnClickListener نیز ناقص است.
توصیه می کنم کلید زیر در مورد ساخت Button را بخوانید :
کلید شماره 2728
سلام
بابت خطای view متشکرم .
لطفا راهنمایی بفرمایید .برای معرفی button از کلید 2855
http://www.kelidestan.com/keys/keys.php?key=2855 استفاده کردم .
الان به محض اجرا service این error ها را میده که نمیدانم کدام اصلی می باشد.
البته onclick را در سرویسی که از آن مشتق شده است نیز تعریف کردم
آیا بایدخود کلیدی را هم که صدا میزنیم در سرویس مادر تعریف کنیم ؟!!
01-08 22:02:45.640: E/AndroidRuntime(1478): FATAL EXCEPTION: main
01-08 22:02:45.640: E/AndroidRuntime(1478): Process: com.example, PID: 1478
01-08 22:02:45.640: E/AndroidRuntime(1478): java.lang.RuntimeException: Unable to create service com.example.MyService: java.lang.ClassCastException: com.example.MyService cannot be cast to android.view.View$OnClickListener
01-08 22:02:45.640: E/AndroidRuntime(1478): at android.app.ActivityThread.handleCreateService(ActivityThread.java:2741)
01-08 22:02:45.640: E/AndroidRuntime(1478): at android.app.ActivityThread.access$1800(ActivityThread.java:144)
01-08 22:02:45.640: E/AndroidRuntime(1478): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1361)
01-08 22:02:45.640: E/AndroidRuntime(1478): at android.os.Handler.dispatchMessage(Handler.java:102)
01-08 22:02:45.640: E/AndroidRuntime(1478): at android.os.Looper.loop(Looper.java:135)
01-08 22:02:45.640: E/AndroidRuntime(1478): at android.app.ActivityThread.main(ActivityThread.java:5221)
01-08 22:02:45.640: E/AndroidRuntime(1478): at java.lang.reflect.Method.invoke(Native Method)
01-08 22:02:45.640: E/AndroidRuntime(1478): at java.lang.reflect.Method.invoke(Method.java:372)
01-08 22:02:45.640: E/AndroidRuntime(1478): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
01-08 22:02:45.640: E/AndroidRuntime(1478): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
01-08 22:02:45.640: E/AndroidRuntime(1478): Caused by: java.lang.ClassCastException: com.example.MyService cannot be cast to android.view.View$OnClickListener
01-08 22:02:45.640: E/AndroidRuntime(1478): at com.example.MyService.onCreate(MyService.java:29)
01-08 22:02:45.640: E/AndroidRuntime(1478): at android.app.ActivityThread.handleCreateService(ActivityThread.java:2731)
01-08 22:02:45.640: E/AndroidRuntime(1478): ... 9 more
01-08 22:07:45.724: I/Process(1478): Sending signal. PID: 1478 SIG: 9