@Override
  public View onCreateView(
      LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View rootView = inflater.inflate(R.layout.interpreter_log, container, false);

    expressionEntry = (EditText) rootView.findViewById(R.id.expression_entry);
    Typeface typeface = Typeface.createFromAsset(getActivity().getAssets(), "fonts/FreeMono.ttf");
    expressionEntry.setTypeface(typeface);

    resultList = (ListView) rootView.findViewById(R.id.result_list_view);
    resultListAdapter = new ResultListAdapter(getActivity(), inflater, typeface);
    resultList.setAdapter(resultListAdapter);
    resultList.setOnItemClickListener(
        new AdapterView.OnItemClickListener() {
          @Override
          public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            resultEntryClicked(position);
          }
        });
    resultListAdapter.registerDataSetObserver(new ResultUpdatedObserver());

    Button sendButton = (Button) rootView.findViewById(R.id.send_expr_button);
    sendButton.setOnClickListener(
        new View.OnClickListener() {
          @Override
          public void onClick(View v) {
            sendClicked();
          }
        });

    return rootView;
  }
 private void resultEntryClicked(int position) {
   ResultListEntry entry = resultListAdapter.getResultListEntry(position);
   expressionEntry.setText(entry.getExpr());
 }
 @Override
 public void onDestroyView() {
   super.onDestroyView();
   resultListAdapter.close();
 }