расширяет ImageView Android? - PullRequest
       0

расширяет ImageView Android?

0 голосов
/ 18 января 2012

Как я могу расширить ImageView, чтобы я мог использовать в своем коде findViewById? Я только что получил 25 ImageView, и мне нужно после нажатия на один, чтобы получить какое-то значение. Я знаю, что мне нужно создать новый класс, расширить ImageView и добавить конструкторы, но когда я пытаюсь реализовать как findViewById, я получил ошибку:

FATAL EXCEPTION: main
java.lang.ClassCastException: android.widget.ImageView
    at com.emirates.worldstreets.explore.FashionTab.setUpStars(FashionTab.java:457)
    at com.emirates.worldstreets.explore.FashionTab.fillUpDetails(FashionTab.java:376)
    at com.emirates.worldstreets.explore.FashionTab.access$8(FashionTab.java:326)
    at com.emirates.worldstreets.explore.FashionTab$4.onItemClick(FashionTab.java:317)
    at android.widget.AdapterView.performItemClick(AdapterView.java:284)
    at android.widget.ListView.performItemClick(ListView.java:3382)
    at android.widget.AbsListView$PerformClick.run(AbsListView.java:1696)
    at android.os.Handler.handleCallback(Handler.java:587)
    at android.os.Handler.dispatchMessage(Handler.java:92)
    at android.os.Looper.loop(Looper.java:123)
    at android.app.ActivityThread.main(ActivityThread.java:4627)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:521)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
    at dalvik.system.NativeStart.main(Native Method)

Ответы [ 2 ]

1 голос
/ 18 января 2012

в коде вы используете findViewById так же, как и в обычном ImageView, но при приведении к вашему пользовательскому представлению

MyImageView myImageView = (MyImageView)findViewById(R.id.name);

в xml необходимо указать полный путь к классу

<com.package.name.MyImageView 
    android:id="@+id/name"
    .... />
0 голосов
/ 18 января 2012

чтобы найти представление с помощью findViewById, оно должно быть определено внутри XML-файла.

...