آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

خطای cast کردن ImageView به کلاسی که از آن extends شده

vahid  10 سال پیش  10 سال پیش
0 0

خطای classCastException: android.widget.ImageView

با سلام

من یه subclass از imageview درست کردم و یه آرایه از این subclass درست کردم تا دکمه هایی رو که در صفحه ایجاد کرده بودم رو داخلش بریزم و موقع تعریف از کد زیر استفاده کردم ولی خطای classcastexception  میده چرا؟

public class Goal extends ImageView {
    public Goal(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
           }
}

کد بالا کلاس Goal هست که extends از ImageView شده و کد پایین خط کدی که در کلاس main یه imageview رو به کلاس Goal کست کرده و به یک آرایه از نوع ArrayList<Goal> اضافه میکنه که برنامه در این خط خطا داره.

        blue_Goals.add((Goal) findViewById(R.id.imgBlue));

تشکر از راهنمایی تون

0 0
اشکال از کجاست؟ (10 سال پیش)
+1 0
ممکنه قسمت کد رو چپ چین کنید؟ (10 سال پیش)
0 0
در سایت stack overflow گفته این قطعه کد رو به قسمت xml برنامه اضافه کنید که در این حالت مشکل کمابیش حل میشه ولی مسأله ایجاس که چون من حدودا 60-70 تا ImageView دارم باید به همون تعداد این کد رو تکرار کنم که اصلا ارزششو نداره . (10 سال پیش)
0 0
دوستان گرامی یه کمکی بکنید (10 سال پیش)
0 0
کسی نظری نداره (10 سال پیش)
0 0
به ImageView کست کردین؟ (10 سال پیش)
0 0
بله به ImageView کست کردم. (10 سال پیش)
+1 0
شاید این لینک جواب سوال شما باشه : لینک (10 سال پیش)
0 0
اول از اینکه راهنمایی کردید تشکر میکنم . همه این کارهایی رو که تو لینک نوشته رو انجام دادم الان مسآله اینه که چون من 60-70 تا ImageView دارم باید اون قطعه کدی که توی فایل xml باید وارد بشه رو 60-70 بار تکرار کنم (10 سال پیش)
+1 0
لینک (10 سال پیش)
+1 0
لینک (10 سال پیش)
+1 0
لینک (10 سال پیش)
+1 0
لینک (10 سال پیش)
+1 0
لینک (10 سال پیش)
 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
vahid  10 سال پیش
0 0

<?xml version="1.0" encoding="utf-8"?>

<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="vertical"

android:layout_height="wrap_content"

android:layout_width="wrap_content">

/////////////

<yourpackage.subClassName

android:id
="@+id/IdOfImageView"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:src="@drawable/spinning_wheel2"

android:longClickable="true"/>
//////////////

</LinearLayout>
0 0
مشکل کد بالا اینه که برای هر ImageView باید یک بار اون قسمتی رو که جدا کردم تکرار بشه و برای برنامه من که یه آرایه از ImageView دارم اصلا جواب نمیده. (10 سال پیش)
0 0
در سایت stack overflow گفته این قطعه کد رو به قسمت xml برنامه اضافه کنید که در این حالت مشکل کمابیش حل میشه ولی مسأله ایجاس که چون من حدودا 60-70 تا ImageView دارم باید به همون تعداد این کد رو تکرار کنم که اصلا ارزششو نداره (10 سال پیش)

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