Lon*_*Int 20 java android 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);
}
Run Code Online (Sandbox Code Playgroud)
简短的问题:
什么是的.class属性来完成,f.ex. 在' c = NewTourny .class '?
为什么我不能将c转换为Tourny(这是所有这些类的父级)?
长问题:
这当前处理我的应用程序中的所有按钮导航,并且工作正常.但是,正如您所看到的,我已经抑制了一个'rawtype'警告,当我将c作为一个类转换时.现在,我真的想要一个没有警告的代码,所以我想'好吧,所有这些类都是'Tourny'的孩子,所以我认为它会起作用,把c作为Tourny - 但这不起作用.然后我意识到,我真的不知道代码"NewTourny.class"实际上做了什么,这可能是为什么我不能把c作为Tourny的线索.那么,.class做什么?
Edw*_*uck 11
它并没有真正做多少. NewTourney.class
更像是一种语言特定的方式来编写"作为类的对象NewTourney
".这个简写允许人们引用a 的类NewTourney
,而不是处理特定的已存在的实例NewTourney
.
在您的特定情况下,我会冒险猜测Activity
最终会创建一个类的实例来处理操作,或者至少保存操作的上下文敏感数据.
归档时间: |
|
查看次数: |
10622 次 |
最近记录: |