私はカスタムSurfaceViewの実装を書いている:私はフラグメントからCustomSurfaceView
を呼び出したいListViewコントロールとカスタムSurfaceView
public class CustomSurfaceView extends SurfaceView {
private void init() { }
// ...
}
myFragment
:
CustomSurfaceView.java
。私はウェブ上で見つけることができるすべての例では、このアプローチの問題は、私はまたmyFragment
で、リストビュー、myList
を持っているということです
class myFragment extends Fragment {
// ...
public View onCreateView() {
return new CustomSurfaceView(getActivity());
}
}
によってこれを行います。
my_fragment.xml
:
<LinearLayout>
<ListView id="@+id/my_list"/>
<SurfaceView id="@+id/custom_surface_view"/>
</LinearLayout>
myFragment.java
:
class myFragment extends Fragment {
// ...
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.my_fragment, container, false);
myList = (ListView) view.findViewById(R.id.my_list);
return view;
}
}
CustomSurfaceView
せず、正常に動作しますその構成、それはこのように動作します。 Unexpected cast to CustomSurfaceView: layout tag was SurfaceView
もたらす
customSurfaceView = (CustomSurfaceView) view.findViewById(R.id.custom_surface_view);
を:
そして、IはmyList = ...
後に追加しようとしました。
私のxmlレイアウトファイルで<SurfaceView/>
を<com.example.CustomSurfaceView/>
に変更すると、実行時にクラッシュする(Binary XML : Error inflating class com.example.CustomSurfaceView
)。
ListView
とCustomSurfaceView
を同じmyFragment
に含めることは間違っていますか?