Я следую руководству Android Gallery (http://developer.android.com/guide/tutorials/views/hello-gallery.html), но вместо простых изображений я хотел бы, чтобы горизонтально переместился на совершенно новый экран, например. LinearLayout. Идея - это своего рода поведение в виде табуляции, но пользователь может прокручивать экраны.Использование галереи для прокрутки между представлениями
Я создал галерею, создал GalleryAdapter, который простирается от BaseAdapter и в методе GetItem() Я пытаюсь вернуть сложный вид:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
/*ImageView i = new ImageView(this.c);
i.setImageResource(R.drawable.login);
i.setLayoutParams(new Gallery.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
i.setScaleType(ImageView.ScaleType.FIT_XY);
return i;*/
ScrollView view = (ScrollView)this.c.getResources().getLayout(R.layout.main);
return view;
}
В приведенном выше примере, он будет работать, если я использую ImageView, но он терпит неудачу, если я использую более сложное представление, такое как scrollView, загруженный из ресурсов.
Любая идея, почему? Исключение составляет:
07-15 13:47:36.498: ERROR/AndroidRuntime(446): java.lang.ClassCastException: android.content.res.XmlBlock$Parser
07-15 13:47:36.498: ERROR/AndroidRuntime(446): at de.flavor.myviews.GalleryAdapter.getView(GalleryAdapter.java:44)
07-15 13:47:36.498: ERROR/AndroidRuntime(446): at android.widget.AbsSpinner.onMeasure(AbsSpinner.java:192)
07-15 13:47:36.498: ERROR/AndroidRuntime(446): at android.view.View.measure(View.java:8171)
07-15 13:47:36.498: ERROR/AndroidRuntime(446): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132)
07-15 13:47:36.498: ERROR/AndroidRuntime(446): at android.widget.FrameLayout.onMeasure(FrameLayout.java:245)
07-15 13:47:36.498: ERROR/AndroidRuntime(446): at android.view.View.measure(View.java:8171)
07-15 13:47:36.498: ERROR/AndroidRuntime(446): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132)
07-15 13:47:36.498: ERROR/AndroidRuntime(446): at android.widget.FrameLayout.onMeasure(FrameLayout.java:245)
07-15 13:47:36.498: ERROR/AndroidRuntime(446): at android.view.View.measure(View.java:8171)
07-15 13:47:36.498: ERROR/AndroidRuntime(446): at android.view.ViewRoot.performTraversals(ViewRoot.java:801)
07-15 13:47:36.498: ERROR/AndroidRuntime(446): at android.view.ViewRoot.handleMessage(ViewRoot.java:1727)
Thanx Sven