質問:
これは私の状況です:
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());
以前に作成した新しい「customView」を取得しようとした瞬間に ClassCastException が返されます。
( (custonView) mainLayout.findViewById(100) ).myFunction();
customView で RelativeLayout をキャストできないと書かれています
私の 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);