/** {@inheritDoc} */ public void onClick(View v) { // if this is not a list the plus button is not visible but the user might have clicked // the text. if (!mKind.isList) return; // Insert a new child and rebuild final ValuesDelta newValues = EntityModifier.insertChild(mState, mKind); this.rebuildFromState(); this.updateAddEnabled(); this.updateEditorsVisible(); // Find the newly added EditView and set focus. final int newFieldId = mViewIdGenerator.getId(mState, mKind, newValues, 0); final View newField = findViewById(newFieldId); if (newField != null) { newField.requestFocus(); } }
public void setState(DataKind kind, EntityDelta state, boolean readOnly, ViewIdGenerator vig) { mKind = kind; mState = state; mReadOnly = readOnly; mViewIdGenerator = vig; setId(mViewIdGenerator.getId(state, kind, null, ViewIdGenerator.NO_VIEW_INDEX)); // TODO: handle resources from remote packages mTitle.setText(kind.titleRes); // Only show the add button if this is a list mAddPlusButton.setVisibility(mKind.isList ? View.VISIBLE : View.GONE); this.rebuildFromState(); this.updateAddEnabled(); this.updateEditorsVisible(); }