我使用API8 max将标签设置为活动扩展。
在此标签中,我正在初始化一些TextView
,EditText
和SeekBar
对象,如下所示。
我正在寻找一种更通用的方法,能够使用单个方法初始化各种对象类型(即TextView
,EditText
,SeekBar
等等,传递View
类型和id
作为参数,而不是按View
类型使用一种方法。
简而言之,如何用一个通用方法替换2个方法setTextViewObjects和setSeekbarObjects?
private void initView(){
mUnits = setTextViewObjects(R.id.textView16);
mSeekBar = setSeekBarObjects(R.id.seek);
}
/**
* Set TextView objects
*/
private TextView setTextViewObjects(int id){
return (TextView) findViewById(id );
}
/**
* Set Seekbar objects
*/
private SeekBar setSeekBarObjects(int id){
return (SeekBar) findViewById(id );
}
答案 0 :(得分:1)
这应该做你想要的:
@SuppressWarnings("unchecked")
private <V extends View> V findView(int id) {
return (V) findViewById(id);
}