2013-09-30 2 views
0

Вопрос:Cast customView от ID

это моя ситуация:

public class customView extends View { 
    myView = new RelativeLayout(...); 
    //... 
    public customView getLayout() { 
     return (customView) myView; 
    } 

    public void myFunction(){} 
} 

тогда, если я:

customView cv = new customView(); 
cv.setId(100); 
// mainLayout si riferisce alla View principale 
mainLayout.addView(cv.getLayout()); 

Он возвращает ClassCastException в данный момент я стараюсь получить новый «customView», который я сделал раньше.

((custonView) mainLayout.findViewById(100)).myFunction(); 

Он говорит, что я не могу бросить RelativeLayout в customView

Мой customView rappresent в RelativeLayout с некоторой новой функцией: когда я создаю его, таймер начинает в TextView врезать.

Когда я вспоминаю объект, я должен иметь возможность остановить таймер таймера (функция таймера останова написана и полностью работает).

Спасибо всем

Ответ:

public class customView extends View { 
    public void customView(Context context){ 
     myView = new RelativeLayout(...); 
     **addView(myView);** 
    } 
    //... 
    //public customView getLayout() { 
    // return (customView) myView; 
    //} 

    public void myFunction(){} 
} 

и называют это с

customView cv = new customView(); 
cv.setId(100); 
//mainLayout si riferisce alla View principale 
//mainLayout.addView(cv.getLayout()); 
mainLayout.addView(cv); 
+0

проблема с этой линией return (customView) myView; Вы не можете отличить View to RelativeLayout –

ответ

0

Вы должны быть в состоянии расширить RelativeLayout в пользовательском классе. Разве это не облегчит вам все это? Вы по-прежнему сможете добавить к нему пользовательскую логику.

Проблема в том, что у вас код, я думаю, что вы добавляете RelativeLayout в mainLayout, вы не добавляете свой собственный customView.

+0

Я попытался также расширить RelativeLayout, то же самое исключение. Я думаю, что вы говорите, но как добавить свой customView вместо RelativeLayout? – Soul

+0

В этом случае вы бы добавили свой пользовательский RelativeLayout, не так ли? Я не уверен, что это проблема ... – Szymon

Смежные вопросы