1

API8 maxを使用してアクティビティ拡張としてタブを設定しています。このタブでは、以下のようないくつかのTextViewEditTextおよびSeekBarオブジェクトを初期化しています。

TextViewタイプごとに 1 つのメソッドを使用するのではなく、単一のメソッドを使用してさまざまなオブジェクト タイプ (つまり、EditText、など) を初期化し、タイプを引数としてSeekBar渡すことができる、より汎用的なメソッドを探しています。ViewidView

つまり、setTextViewObjects と setSeekbarObjects の 2 つのメソッドを単一のジェネリック メソッドに置き換えるにはどうすればよいでしょうか。

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 );
}
4

1 に答える 1

1

これはあなたが望むことをするはずです:

@SuppressWarnings("unchecked")
private <V extends View> V findView(int id) {
    return (V) findViewById(id);
}
于 2012-06-13T13:50:45.090 に答える