This is more of a design question and how one would go about designing applications. I have been having fun with fragments, but one thing that doesn't make sense to me something like this:

```
@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        page = getArguments().getInt("someInt", 2);

        Button btnOne = (Button) getView().findViewById(R.id.one);

        btnOne.setOnClickListener(new Button.OnClickListener() {
            public void onClick(View v) {
                String currentText = getScreen().getText().toString();
                currentText += "1";
                getScreen().setText(currentText);
            }
        });
    }

    // Inflate the view for the fragment based on layout XML
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.standard_calculator, container, false);
        return view;
    }

    /** Return the screen TextView object for manipulation
     * @return screen
     */
    public TextView getScreen() {
        return screen;
    }

```

Screen title are private variables in the class and this isn't the whole class, but just the part that I need to help my question. There are going to be at least 15 or so buttons that manipulate the screen and it doesn't feel like good practice to and put them all in the onCreate method, I was wondering whether it would be better design to have them in another class that let the methods in the fragment be more specific to the life-cycle of the fragment, although one can say that the buttons are used by the fragment and therefore should be part of the class. Perhaps an "initialising" method is needed.

I was hoping someone might be able to direct me to some design patterns or logical way of thinking about application design, it is quite different.

Many thanks.