2012-06-13 89 views
1

我有一個標籤設置作爲使用API​​8 max的活動擴展。 在此選項卡中,我正在初始化一些TextViewEditTextSeekBar對象,如下所示。尋找一種通用的方法來初始化misc查看對象

我想找更普遍方法,以便能夠使用一個單一的方法來初始化各種對象類型(即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

這應該做你想要什麼:

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

THX,是的我想是這樣。嘗試並投票,如果工作。 – hornetbzz

+0

用於像我這樣的noobs:mUnits =((TextView)setViewObject(R.id.textView16)); – hornetbzz