First time developing in Java, and first time developing for Android, so it's quite a newbie question.
I currently have this code:
public void onBtnClicked(View v){
/** Handles button navigation */
@SuppressWarnings("rawtypes")
Class c;
int viewId = v.getId();
switch (viewId) {
case R.id.btnNewTourny :
c = NewTourny.class;
break;
case R.id.btnTeamEditor :
c = EditTeam.class;
break;
case R.id.btnCatEditor :
c = EditCat.class;
break;
case R.id.btnLoadTourny :
c = EditCat.class;
break;
case R.id.btnNewCategory :
c = NewCat.class;
break;
default :
c = Main.class;
}
Intent myIntent = new Intent(v.getContext(), c);
startActivityForResult(myIntent, 0);
}
Short question:
What does the .class property do, f.ex. in 'c = NewTourny.class'?
Why can't I cast c as Tourny (which is the parent of all these classes)?
Long question:
This currently handles all button navigations throughout my app, and works fine. However, as you can see, I've suppressed a 'rawtype' warning, that comes when I cast c as a Class . Now, I really want a code without warnings, so I thought 'well, all these classes are a child of 'Tourny'', so I thought it would work, casting c as Tourny - but that does not work. Then I realised, that I didn't really know what the code "NewTourny.class" actually did, and that may be the clue to why I couldn't cast c as Tourny. So, what does .class do?