Первый раз разрабатываю на Java и первый раз разрабатываю для Android, так что это совсем новичок вопрос.
В настоящее время у меня есть этот код:
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);
}
Короткий вопрос:
Что делает свойство .class , например. in 'c = NewTourny .class '?
Почему я не могу использовать c как Tourny (, который является родителем всех этих классов)?
Длинный вопрос:
В настоящее время это обрабатывает все кнопки навигации в моем приложении и работает нормально. Однако, как вы можете видеть, я подавил предупреждение «rawtype», которое появляется, когда я привожу c как Class. Теперь мне действительно нужен код без предупреждений, поэтому я подумал: «Ну, все эти классы являются потомками Tourny», поэтому я подумал, что это сработает, приведя c к Tourny -, но это не работает. Затем я понял, что на самом деле я не знал, что на самом деле делает код «NewTourny.class», и это может быть ключом к тому, почему я не мог использовать c как Tourny. Итак, что делает.class?