package de.jeisfeld.augendiagnoselib.fragments; import android.app.Fragment; import android.os.Bundle; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.WindowManager; import android.widget.Button; import android.widget.EditText; import de.jeisfeld.augendiagnoselib.R; import de.jeisfeld.augendiagnoselib.activities.DisplayImageActivity; import de.jeisfeld.augendiagnoselib.util.KeyboardUtil; /** * Fragment to add the comment of a picture. */ public class EditCommentFragment extends Fragment { /** * The resource key for the initial text. */ private static final String STRING_TEXT = "de.jeisfeld.augendiagnoselib.TEXT"; /** * The EditText displaying the comment. */ private EditText mEditText; /** * The comment text. */ @Nullable private String mText; /** * Initialize the EditCommentFragment with the text. * * @param initialText The initial text of the comment. */ public final void setParameters(final String initialText) { Bundle args = new Bundle(); args.putString(STRING_TEXT, initialText); setArguments(args); } @Override public final void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); mText = getArguments().getString(STRING_TEXT); } @Override public final View onCreateView(@NonNull final LayoutInflater inflater, final ViewGroup container, final Bundle savedInstanceState) { return inflater.inflate(R.layout.fragment_edit_comment, container, false); } @Override public final void onActivityCreated(final Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); if (getView() == null) { return; } mEditText = (EditText) getView().findViewById(R.id.input_edit_comment); mEditText.setText(mText); mEditText.setOnFocusChangeListener(new View.OnFocusChangeListener() { @Override public void onFocusChange(final View v, final boolean hasFocus) { if (hasFocus) { getActivity().getWindow().setSoftInputMode( WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE); } } }); final Button buttonCancel = (Button) getView().findViewById(R.id.buttonCancel); buttonCancel.setOnClickListener(new View.OnClickListener() { @Override public void onClick(final View v) { DisplayImageActivity activity = (DisplayImageActivity) getActivity(); activity.processUpdatedComment(mEditText.getText().toString(), false); } }); final Button buttonClear = (Button) getView().findViewById(R.id.buttonClear); buttonClear.setOnClickListener(new View.OnClickListener() { @Override public void onClick(final View v) { mEditText.setText(""); } }); final Button buttonOk = (Button) getView().findViewById(R.id.buttonOk); buttonOk.setOnClickListener(new View.OnClickListener() { @Override public void onClick(final View v) { DisplayImageActivity activity = (DisplayImageActivity) getActivity(); activity.processUpdatedComment(mEditText.getText().toString(), true); } }); } /** * Hide the soft keyboard triggered from this listFoldersFragment. */ public final void hideKeyboard() { KeyboardUtil.hideKeyboard(getActivity(), mEditText); } }