FrameLayout を拡張するクラスを作成しました。
public class ReaderFrameLayout extends FrameLayout
{
public ReaderFrameLayout(Context context)
{
this(context, null);
}
public ReaderFrameLayout(Context context, AttributeSet attrs)
{
this(context, attrs, 0);
}
public ReaderFrameLayout(Context context, AttributeSet attrs, int defaultStyle)
{
super(context, attrs, defaultStyle);
WebView readerWebView = (WebView) findViewById(R.id.fragment_reader_webview);
readerWebView.setOnTouchListener(new OnTouchListener()
{
@Override
public boolean onTouch(View v, MotionEvent event)
{
Log.d("ReaderFrameLayout", "setOnTouchListener");
return true;
}
});
}
}
そしてそれをフラグメントに追加します。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<com.mbs.helpers.ReaderFrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginTop="83dp" >
<WebView
android:id="@+id/fragment_reader_webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
</com.mbs.helpers.ReaderFrameLayout>
</RelativeLayout>
Eclipse のエラー:
com.android.layoutlib.bridge.MockView は android.view.ViewGroup にキャストできません 例外の詳細は [ウィンドウ] > [ビューの表示] > [エラー ログ] に記録されます 次のクラスをインスタンス化できませんでした: - com.mbs.helpers.ReaderFrameLayout (Open Class,エラー ログを表示) 詳細については、エラー ログ ([ウィンドウ] > [ビューの表示]) を参照してください。ヒント: カスタム ビューで View.isInEditMode() を使用して、Eclipse で表示されるときにコードをスキップします。
もちろん、アプリケーションは機能しません。
私は何を間違っていますか?