2017-04-06 5 views
0

私はフラグメントビューページャーを持つアプリケーションを持っています。レイアウトに抽象ビューを追加し、プログラム的に特定のクラスを決定する

各フラグメントはタイプAのいずれかであり、リストは5 CheckBoxesであるか、またはタイプBであり、を含む。

今のところ私はとFragmentBの2つの子クラスを持つAbstractFragmentを持っています。リストまたは他のレイアウトのいずれかを設定しました。

私はこれを簡略化し、一つだけFragmentクラスを持って、5 CompoundButtonのリストを、そしてCompoundButtonCheckBoxRadiobuttonであれば、プログラムで設定したいと思います。

CompoundButtonは抽象であるため、どうすればこのようにすることができますか?

PS:もちろん、ボタンをプログラムで追加するのは、レイアウトが複雑で設定が面倒なので、私がやりたいことではありません。

答えて

1
public class ComponentFragment extends Fragment { 
    private ComponentFragmentMode mode = ComponentFragmentMode.CHECKBOX; 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
     Bundle savedInstanceState) { 
     // Inflate the layout for this fragment 
     if (mode == ComponentFragmentMode.CHECKBOX) { 
      return inflater.inflate(R.layout.checkbox_layout, container, false); 
     } else { 
      return inflater.inflate(R.layout.radiobutton_layout, container, false); 
     } 
} 
+0

私は1つのレイアウトを持ち、いくつかのウィジェットのクラスを決定したいと思います。しかし、あなたのソリューションはまだ私にとって大きな改善です、ありがとう! –

関連する問題