Java 如何在ViewPager上高效地添加多个图像

Java 如何在ViewPager上高效地添加多个图像,java,android,android-layout,android-fragments,Java,Android,Android Layout,Android Fragments,这是我学习android应用程序的第三天。目前使用的是android studio,我的问题与ViewPager类有关。下面是我的fragment和viewPager类的代码 ViewPager和适配器类: 包com.syedabdullah.syed.quran_记忆_应用程序 导入android.content.pm.ActivityInfo;导入android.os.Bundle; 导入android.support.v4.app.Fragment;进口 android.support.v

这是我学习android应用程序的第三天。目前使用的是android studio,我的问题与ViewPager类有关。下面是我的fragment和viewPager类的代码

ViewPager和适配器类:

包com.syedabdullah.syed.quran_记忆_应用程序

导入android.content.pm.ActivityInfo;导入android.os.Bundle; 导入android.support.v4.app.Fragment;进口 android.support.v4.app.FragmentActivity;进口 android.support.v4.app.FragmentManager;进口 android.support.v4.app.FragmentStatePagerAdapter;进口 android.support.v4.view.PagerAdapter;进口 android.support.v4.view.ViewPager;导入android.view.Window

公共类ViewPagePractivity扩展了FragmentActivity{

ViewPager myPager;
PagerAdapter myAdapter;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    //Remove Title bar
    this.requestWindowFeature(Window.FEATURE_NO_TITLE);
    //force portrait orientation. (No landscape orientation).
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
    setContentView(R.layout.activity_view_pager);

    myPager = (ViewPager) findViewById(R.id.pager);
    myAdapter = new adapterClass(getSupportFragmentManager());
    myPager.setAdapter(myAdapter);
}

/*
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.menu_view_pager, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();

    //noinspection SimplifiableIfStatement
    if (id == R.id.action_settings) {
        return true;
    }

    return super.onOptionsItemSelected(item);
} */

/*Nested class needed for custom Adapter */
private class adapterClass extends FragmentStatePagerAdapter {

    int[] images = new int[3];
    images[0] = R.drawable._2;

    String extract = "R.drawable._";



    public adapterClass(FragmentManager fm) {
        super(fm);
    }

    @Override
    public Fragment getItem(int position) {
        //initialiseArray(images);
        return viewPageFragment.newInstance(position, images[position]);
    }

    @Override
    public int getCount() {
        return images.length;
    }

    private int[] initialiseArray(int[] array) {
        for (int i = 2; i <= array.length + 1; i++) {
            extract += i;
            array[i-2] = Integer.parseInt(extract);
        }
        return array;
    }
}
当前我的
initialiseArray
不起作用。如果我按如下方式初始化我的数组:

int[] images = {R.drawable._2, R.drawable._3, R.drawable._4};
它将在我的ViewPager中显示相应的图像。但是,我有500多个图像,如果我这样做,这将花费很长时间。这就是为什么我想知道是否有更简单的方法插入这些图像。我所有的图像都是按递增顺序命名的。因此,我的第一个图像被命名为。_2一直到。_550或其他什么

还有一个问题。 如果我们能做一个像

int[]images={R.drawable.\u 2,R.drawable.\u 3,R.drawable.\u 4}

那这怎么不起作用呢

int[]图像=新的int[3]; 图像[0]=R.drawinable.\u 2


有人能解释一下吗?谢谢。

我找到了一种有效地向ViewPager添加大量页面的方法。只需向其他可能面临类似问题的新来者发布答案。我试图做的是在应用程序内存中添加数百个图像,这是非常低效的。这种方法应该是d一个是你必须下载图像(使用AsynTask或DownloadManger)并将其存储在外部存储器上,然后从那里提取图像。希望这有帮助。

唯一的问题是我需要所有图像覆盖整个页面,不知道gallery是否可以做到这一点(只做了3天的安卓系统,但我可能会去看看。)快速提问,我的应用程序会要求我单独定位这些图片中的某些位置。这在Gallery中也可能吗?
int[] images = {R.drawable._2, R.drawable._3, R.drawable._4};