I want to call the same ViewPagerActivity with intents, but as source in pageData for view pager I want to use different arrays, according to the activity, which call view pager. So, I tried this
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());
In the start activity "numbers" I have
intent.putExtra("ArrayName", "numbers");
startActivity(intent);
and want to get "R.array.numbers" instead of "R.array.ArrayName", if I call view pager from "numbers" activity but on ViewPagerActivity in this line pageData=getResources().getStringArray(R.array.ArrayName)
I have an error "error: cannot find symbol variable ArrayName ". How I can avoid this error?
using switch or if else structure to achieve this like
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);
etc, this is overview not the exact code