自作したViewのClassをxmlで使う
AndroidでScrollViewなんかの子クラスをつくって、それをlayoutのxmlから呼ぼうとしたところ少しはまったのでメモ。
ポイントはコンストラクタの引数の取り方で、ContextとAttributeSetを指定して親を呼ばないと
Caused by: android.view.InflateException: Binary XML file line #36: Error inflating class com.example.MyHorizontalScrollView
などとエラーを出して落ちます。
例としてはこんな感じ
public class MyHorizontalScrollView extends HorizontalScrollView { public MyHorizontalScrollView(Context context, AttributeSet attrs) { super(context, attrs); } @Override protected void onScrollChanged(int l, int t, int oldl, int oldt) { super.onScrollChanged(l, t, oldl, oldt); } }
でした。