我的活动包含 listView 。 listView的每个项目都包含一组可滑动的图像(我使用 ViewPager 尝试使用该图像失败)。
我的问题是这样的:当我尝试使用视图寻呼机实现一个简单的图像滑块(即Activity包含一个ViewPager,并且View Pager的适配器提供图像)时,输出是预期的,但是如果我尝试做我在前一段中提到的内容(即,Activity包含一个listView,listView的每个项目都是一个ViewPager,它显示一组可滑动的图像),我得到一个空白输出。请帮帮我!我在下面发布了一些代码:
MainActivity.java
<FrameLayout 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"
tools:context="com.temp.customer.MainActivity">
<ListView
android:id="@+id/stylistDisplay"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:divider="@android:color/transparent"
android:background="@color/backGround"
android:padding="13.3dp"
android:clickable="true"
android:dividerHeight="5dp" />
</FrameLayout>
activity_main.xml中
<RelativeLayout xmlns:android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:context=".MainActivity" >
<android.support.v4.view.ViewPager
android:id="@+id/photos_view_pager"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</RelativeLayout>
stylist_photos_view_pager
public class PhotosAdapter extends PagerAdapter {
private Context context;
private int[] GalImages = new int[] {
R.drawable.one,
R.drawable.two,
R.drawable.three
};
public PhotosAdapter(Context context) {
this.context = context;
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
LayoutInflater inflater = ((Activity)context).getLayoutInflater();
View viewItem = inflater.inflate(R.layout.stylist_individual_details, container, false);
ImageView imageView = (ImageView) viewItem.findViewById(R.id.iv1);
imageView.setImageResource(GalImages[position]);
TextView textView1 = (TextView) viewItem.findViewById(R.id.tv1);
textView1.setText("hello world");
((ViewPager)container).addView(viewItem);
return viewItem;
}
@Override
public int getCount() {
return 3;
}
@Override
public boolean isViewFromObject(View view, Object object) {
boolean temp = view == ((LinearLayout) object);
return temp;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
((ViewPager) container).removeView((LinearLayout) object);
}
PhotosAdapter.java
Non-invocable member 'Vector2' cannot be used like a method
}
答案 0 :(得分:0)
我经历过类似的问题,不得不说使用ViewPager作为listItem是一个坏主意,因为ViewPager应该主要用于片段。
我猜你的功能应该与主垂直上的一些水平图片类似。您可以考虑使用水平滚动视图,这有点痛苦,但仍然更加现实。您最终可能还会管理自己的滚动行为,这可能已经被某些库实现了。
但我可能错了! 该主题有类似的问题:
答案 1 :(得分:0)
在阅读了一段时间后,我尝试明确设置viewPager及其父级的高度。这对我有用。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="200dip"
android:orientation="vertical" >
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="200dip" >
</android.support.v4.view.ViewPager>
</LinearLayout>
我不知道是否有更好的解决方案,但如果你有更好的解决方案,请发表评论!