/** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.edit);
    _authorsLayout = (LinearLayout) findViewById(R.id.authorsList);

    _isbn = (EditText) findViewById(R.id.isbn);
    _isbn.addTextChangedListener(
        new TextWatcher() {
          public void afterTextChanged(Editable s) {
            setSaveState();
          }

          public void beforeTextChanged(CharSequence s, int start, int count, int after) {}

          public void onTextChanged(CharSequence s, int start, int count, int after) {}
        });

    _title = (EditText) findViewById(R.id.title);

    _inflater = getLayoutInflater();

    Button addAuthor = (Button) findViewById(R.id.addAuthor);
    addAuthor.setOnClickListener(
        new OnClickListener() {
          public void onClick(View v) {
            addAuthorView("");
          }
        });

    _save = (Button) findViewById(R.id.saveButton);
    _save.setOnClickListener(
        new OnClickListener() {
          public void onClick(View v) {
            save();
          }
        });
    Button discard = (Button) findViewById(R.id.discardButton);
    discard.setOnClickListener(
        new OnClickListener() {
          public void onClick(View v) {
            DialogFragment dialog = new DiscardDialogFragment();
            dialog.show(getFragmentManager(), DISCARD_TAG);
          }
        });
  }
  @Override
  public void onResume() {
    super.onResume();
    _queryController.setListener(
        new QueryController.Listener() {
          public void onDataChange(QueryModel data, boolean saved) {
            if (saved) {
              finish();
            } else {
              _desc = data.currentBook;
              updateBookDescription();
            }
          }

          public void onError() {
            showDialogError();
          }
        });
  }