寻找一种通用的方法来初始化misc View对象

时间:2012-06-13 13:46:26

标签: android object initialization

我使用API​​8 max将标签设置为活动扩展。 在此标签中,我正在初始化一些TextViewEditTextSeekBar对象,如下所示。

我正在寻找一种更通用的方法,能够使用单个方法初始化各种对象类型(即TextViewEditTextSeekBar等等,传递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 );
}

1 个答案:

答案 0 :(得分:1)

这应该做你想要的:

@SuppressWarnings("unchecked")
private <V extends View> V findView(int id) {
    return (V) findViewById(id);
}