“.class”属性如何工作?
第一次用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属性的作用,f.ex.在 'c = NewTourny.class'?
为什么我不能将c作为Tourny(这是所有这些类的父级)?
长问题:
这目前处理整个应用中的所有按钮导航,并且工作正常。但是,如您所见,我已经抑制了“rawtype”警告,当我将c转换为类时,就会出现该警告。现在,我真的想要一个没有警告的代码,所以我想'好吧,所有这些类都是'Tourny'的孩子',所以我认为它会起作用,将c转换为Tourny - 但这不起作用。然后我意识到,我真的不知道代码“NewTourny.class”实际上做了什么,这可能是为什么我不能把c作为Tourny的线索。那么,.class做什么呢?