在 pageData 中使用变量作为数组名称

Use variable as array name in pageData

我想用意图调用相同的 ViewPagerActivity,但是作为视图寻呼机的 pageData 中的源,我想根据调用视图寻呼机的 activity 使用不同的数组。所以,我尝试了这个

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_viewpager);
    //Get the data to be swiped through

    Intent intent = getIntent();
    String ArrayName = intent.getStringExtra("ArrayName");

    //pageData=getResources().getStringArray(R.array.numbers);
    pageData=getResources().getStringArray(R.array.ArrayName);
    //get an inflater to be used to create single pages
    inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    //Reference ViewPager defined in activity
    vp=(ViewPager)findViewById(R.id.viewPager);
    //set the adapter that will create the individual pages
    vp.setAdapter(new MyPagesAdapter());

开头activity"numbers"我有

intent.putExtra("ArrayName", "numbers"); startActivity(intent);

并希望获得 "R.array.numbers" 而不是 "R.array.ArrayName",如果我从 "numbers" activity 调用视图寻呼机,但在这一行的 ViewPagerActivity 上 pageData=getResources().getStringArray(R.array.ArrayName)

我遇到错误“错误:找不到符号变量 ArrayName "。如何避免此错误?

使用 switch 或 if else 结构来实现类似

           String Arrayname = getIntent().getStringExtra("ArrayName");
            switch(Arrayname.toLowerCase()){
                case "numbers":
                pageData=getResources().getStringArray(R.array.numbers);
                mAdapter = new MyPagesAdapter(pageDate);
                    break;
                case "alphabet":
                list=getResources().getStringArray(R.array.alphabet);
                mAdapter = new MyPagesAdapter(list)
                    break;

            }
          vp.setAdapter(mAdapter);

等等,这是概述而不是确切的代码