package com.onegravity.rteditor.demo; import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.EditText; import com.onegravity.rteditor.RTEditText; import com.onegravity.rteditor.RTManager; import com.onegravity.rteditor.RTToolbar; import com.onegravity.rteditor.api.RTApi; import com.onegravity.rteditor.api.RTMediaFactoryImpl; import com.onegravity.rteditor.api.RTProxyImpl; import com.onegravity.rteditor.api.format.RTFormat; public class RTEditorFragment extends Fragment { private RTManager mRTManager; private EditText mSubjectField; private RTEditText mRTMessageField; private RTEditText mRTSignatureField; public static RTEditorFragment getInstance(String subject, String message, String signature, boolean splitToolbar) { RTEditorFragment fragment = new RTEditorFragment(); Bundle args = new Bundle(); args.putString("subject", subject); args.putString("message", message); args.putString("signature", signature); args.putBoolean("splitToolbar", splitToolbar); fragment.setArguments(args); return fragment; } public RTEditorFragment() {} @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { Bundle args = getArguments(); String subject = args.getString("subject"); String message = args.getString("message"); String signature = args.getString("signature"); boolean splitToolbar = args.getBoolean("splitToolbar"); View view = inflater.inflate(splitToolbar ? R.layout.rte_demo_2 : R.layout.rte_demo_1, null); // create RTManager RTApi rtApi = new RTApi(getActivity(), new RTProxyImpl(getActivity()), new RTMediaFactoryImpl(getActivity(), true)); mRTManager = new RTManager(rtApi, savedInstanceState); ViewGroup toolbarContainer = (ViewGroup) view.findViewById(R.id.rte_toolbar_container); // register toolbar 0 (if it exists) RTToolbar rtToolbar0 = (RTToolbar) view.findViewById(R.id.rte_toolbar); if (rtToolbar0 != null) { mRTManager.registerToolbar(toolbarContainer, rtToolbar0); } // register toolbar 1 (if it exists) RTToolbar rtToolbar1 = (RTToolbar) view.findViewById(R.id.rte_toolbar_character); if (rtToolbar1 != null) { mRTManager.registerToolbar(toolbarContainer, rtToolbar1); } // register toolbar 2 (if it exists) RTToolbar rtToolbar2 = (RTToolbar) view.findViewById(R.id.rte_toolbar_paragraph); if (rtToolbar2 != null) { mRTManager.registerToolbar(toolbarContainer, rtToolbar2); } // set subject mSubjectField = (EditText) view.findViewById(R.id.subject); mSubjectField.setText(subject); // register message editor mRTMessageField = (RTEditText) view.findViewById(R.id.rtEditText_1); mRTManager.registerEditor(mRTMessageField, true); if (message != null) { mRTMessageField.setRichTextEditing(true, message); } // register signature editor mRTSignatureField = (RTEditText) view.findViewById(R.id.rtEditText_2); mRTManager.registerEditor(mRTSignatureField, true); if (signature != null) { mRTSignatureField.setRichTextEditing(true, signature); } return view; } @Override public void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); mRTManager.onSaveInstanceState(outState); } @Override public void onDestroy() { super.onDestroy(); if (mRTManager != null) { mRTManager.onDestroy(true); } } public String getSubject() { return mSubjectField.getText().toString(); } public void setSubject(String value) { mSubjectField.setText(value); } public String getMessage() { return mRTMessageField.getText(RTFormat.HTML); } public void setMessage(String value) { mRTMessageField.setRichTextEditing(true, value); } public String getSignature() { return mRTSignatureField.getText(RTFormat.HTML); } public void setSignature(String value) { mRTSignatureField.setRichTextEditing(true, value); } }