Java 简单ViewPager-单一布局

Java 简单ViewPager-单一布局,java,android,arrays,android-viewpager,Java,Android,Arrays,Android Viewpager,我正在尝试从一组图像中创建一个简单的ViewPager 我的阵列是: <string-array name="ot_images"> <item>"file:///android_res/drawable/ot_100.jpg"</item> <item>"file:///android_res/drawable/ot_101.jpg"</item> <item>"file:///android_res

我正在尝试从一组图像中创建一个简单的ViewPager

我的阵列是:

<string-array name="ot_images">
   <item>"file:///android_res/drawable/ot_100.jpg"</item> 
   <item>"file:///android_res/drawable/ot_101.jpg"</item> 
   <item>"file:///android_res/drawable/ot_102.jpg"</item> 
   <item>"file:///android_res/drawable/ot_103.jpg"</item> 
我遵循了本教程:

一切正常,但我的问题是:

如何使用1个布局而不是5个布局的本教程?
谢谢大家!

您只需定义一个公共布局,比如
common_layout.xml
,并通过覆盖
instantiateItem
方法将其放置在viewpager的容器中。 在下面的示例中,我假设您有一个id为text的TextView

public Object instantiateItem(View collection, int position) {

   LayoutInflater inflater = (LayoutInflater) collection.getContext()
                   .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
   View view = inflater.inflate(R.layout.common_layout, null);
   switch (position) {
       case 0:
         ((TextView)view.findViewById(R.id.text)).setText("One");
         break;
       case 1:
         ((TextView)view.findViewById(R.id.text)).setText("Two");
         break;
       case 2:
         ((TextView)view.findViewById(R.id.text)).setText("Three");
         break;
       case 3:
         ((TextView)view.findViewById(R.id.text)).setText("Four");
         break;
       case 4:
         ((TextView)view.findViewById(R.id.text)).setText("Five");
         break
     }

    ((ViewPager) collection).addView(view, 0);
    return view;
 }

您只需定义一个公共布局,比如
common\u layout.xml
,并通过覆盖
instantiateItem
方法将其放置在viewpager的容器中。 在下面的示例中,我假设您有一个id为text的TextView

public Object instantiateItem(View collection, int position) {

   LayoutInflater inflater = (LayoutInflater) collection.getContext()
                   .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
   View view = inflater.inflate(R.layout.common_layout, null);
   switch (position) {
       case 0:
         ((TextView)view.findViewById(R.id.text)).setText("One");
         break;
       case 1:
         ((TextView)view.findViewById(R.id.text)).setText("Two");
         break;
       case 2:
         ((TextView)view.findViewById(R.id.text)).setText("Three");
         break;
       case 3:
         ((TextView)view.findViewById(R.id.text)).setText("Four");
         break;
       case 4:
         ((TextView)view.findViewById(R.id.text)).setText("Five");
         break
     }

    ((ViewPager) collection).addView(view, 0);
    return view;
 }

请解释清楚//希望这更好,谢谢。你可以使用@Kushwaha的答案。只需将文本视图替换为图像资源..请解释清楚//希望这更好,谢谢。您可以使用@Kushwaha的答案。只需将文本视图替换为图像资源。。
public Object instantiateItem(View collection, int position) {

   LayoutInflater inflater = (LayoutInflater) collection.getContext()
                   .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
   View view = inflater.inflate(R.layout.common_layout, null);
   switch (position) {
       case 0:
         ((TextView)view.findViewById(R.id.text)).setText("One");
         break;
       case 1:
         ((TextView)view.findViewById(R.id.text)).setText("Two");
         break;
       case 2:
         ((TextView)view.findViewById(R.id.text)).setText("Three");
         break;
       case 3:
         ((TextView)view.findViewById(R.id.text)).setText("Four");
         break;
       case 4:
         ((TextView)view.findViewById(R.id.text)).setText("Five");
         break
     }

    ((ViewPager) collection).addView(view, 0);
    return view;
 }