我的應用程序實際上有問題,我的ViewPager和ViewPagerIndicator (http://viewpagerindicator.com/)沒有顯示任何內容,我不明白爲什麼。我多次檢查了所有東西(正確設置適配器,在instantiateItem中添加視圖,在getCount()中返回好大小,...),嘗試了一些操作(更改xml中的佈局參數,重新編寫MyPagerAdapter類),甚至在谷歌和這裏尋找類似的問題,但沒有任何工作/沒有我的問題。ViewPager&ViewPagerIndicator不顯示任何內容
我也有沼澤,不知道是否有一個鏈接,但在我的PagerAdapter方法instantiateItem只調用2次,而getCount將()很好地返回3.
我真不」知道哪裏可以從何而來,如果任何人有一個想法,我會帶着它非常高興:
的OnCreate(含ViewPager & ViewPagerIndicator活動的):
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_infos_vehicle);
title = (TextView) findViewById(R.id.title);
ll = (LinearLayout) findViewById(R.id.mygallery);
filenames = new ArrayList<String>();
[...]
MyPagerAdapter adapter = new MyPagerAdapter(getResources().getStringArray(R.array.infos_vehicle));
ViewPager pager = (ViewPager) findViewById(R.id.pager);
pager.setAdapter(adapter);
TitlePageIndicator indicator = (TitlePageIndicator) findViewById(R.id.titles_pager);
indicator.setFooterIndicatorStyle(IndicatorStyle.Triangle);
indicator.setViewPager(pager);
[...]
}
MyPagerAdapter類(第三案件是在這裏的一個更明顯的測試,看看它是否是被搞砸不是我fillGeneral或fillEquipments方法):
私有類MyPagerAdapter擴展PagerAdapter {
private final String[] TITLES;
public MyPagerAdapter(String[] titles) {
TITLES = titles;
}
@Override
public int getCount() {
return (TITLES.length);
}
@Override
public Object instantiateItem(View collection, int position) {
LayoutInflater inflater = (LayoutInflater) getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View v = null;
switch (position) {
case (0):
v = inflater.inflate(R.layout.linear_layout, null);
fillGeneral((ViewGroup) v.findViewById(R.id.layout));
break;
case (1):
v = inflater.inflate(R.layout.linear_layout, null);
fillEquipments((ViewGroup) v.findViewById(R.id.layout));
break;
case (2):
v = new ImageView(getApplicationContext());
((ImageView) v).setImageDrawable(getApplicationContext().getResources().getDrawable(android.R.drawable.alert_dark_frame));
break;
}
((ViewPager) collection).addView(v);
return (v);
}
@Override
public CharSequence getPageTitle(int position) {
return (TITLES[position]);
}
@Override
public void destroyItem(View collection, int position, Object view) {
((ViewPager) collection).removeView((View) view);
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return (arg0.equals(arg1));
}
@Override
public Parcelable saveState() {
return null;
}
}
而且活動的xml:
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="10dp"
android:text="@string/hello_world"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="@color/first_color" />
<Button
android:id="@+id/try_vehicle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/title"
android:layout_centerHorizontal="true"
android:layout_marginTop="40dp"
android:onClick="tryingAlert"
android:text="@string/try_vehicle" />
<Button
android:id="@+id/ask_informations"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/try_vehicle"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp"
android:onClick="informationsAlert"
android:text="@string/ask_informations" />
<Button
android:id="@+id/remove_selection"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="removeFromSelection"
android:layout_below="@+id/ask_informations"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp"
android:text="@string/remove_selection" />
<HorizontalScrollView
android:id="@+id/scroll"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/remove_selection"
android:layout_marginTop="18dp"
android:scrollbars="none" >
<LinearLayout
android:id="@+id/mygallery"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal" >
</LinearLayout>
</HorizontalScrollView>
<com.viewpagerindicator.TitlePageIndicator
android:id="@+id/titles_pager"
android:layout_below="@id/scroll"
android:layout_height="wrap_content"
android:layout_width="fill_parent" />
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/titles_pager" />
</RelativeLayout>
</ScrollView>
它給了我什麼(活動在這裏結束,如圖所示,ViewPagerIndicator什麼都不顯示): http://i.imgur.com/vRa1O.jpg(外部鏈接,不能發佈圖片抱歉!)
當你使用Hierarchy View來檢查你的UI時,你發現了什麼? – CommonsWare
@CommonsWare這取決於你要我看......什麼:就全球我的活動是很好的展示d我覺得包括TitlePageIndicator,但ViewPager仍顯示沒有藏漢作爲其子(只有2個孩子,而instantiateItem應該創建3!)。無論如何感謝您爲我提供的幫助。 :) – Bhullnatik
好吧,我是TitleIndicator的工具,默認主題只是提供白色,所以背景是「隱形」的。 [更新UI](http://i.imgur.com/bzf2Q.png)編輯:我們無法從這裏看到,但TitlePageIndicator很好地展示了3個標題。 – Bhullnatik