package com.qmusic.controls.dialogs; import android.app.AlertDialog; import android.app.Dialog; import android.os.Bundle; import android.text.TextUtils; import android.view.LayoutInflater; import android.view.View; import android.widget.EditText; import com.qmusic.R; public class InputDialogFragment extends BaseDialogFragment { String title, defaultStr, hint; int inputType; /** * EditText editInput = (EditText) ((AlertDialog) arg0) * .findViewById(R.id.dialog_settings_input_edit); String editInputString = * editInput.getEditableText().toString().trim(); * * @param title * @param defaultStr * @param hint * @param inputType * @param callback * @return */ public static InputDialogFragment getInstance(final String title, final String defaultStr, final String hint, final int inputType) { InputDialogFragment fragment = new InputDialogFragment(); Bundle bundle = new Bundle(); bundle.putString("title", title); bundle.putString("defaultStr", defaultStr); bundle.putString("hint", hint); bundle.putInt("inputType", inputType); fragment.setArguments(bundle); return fragment; } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Bundle arguments; if (savedInstanceState != null) { arguments = savedInstanceState; } else { arguments = getArguments(); } if (arguments != null) { title = arguments.getString("title"); defaultStr = arguments.getString("defaultStr"); hint = arguments.getString("hint"); inputType = arguments.getInt("inputType"); } } @Override public void onSaveInstanceState(Bundle arg0) { super.onSaveInstanceState(arg0); arg0.putString("title", title); arg0.putString("defaultStr", defaultStr); arg0.putString("hint", hint); arg0.putInt("inputType", inputType); } @Override public Dialog onCreateDialog(Bundle savedInstanceState) { AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); LayoutInflater factory = LayoutInflater.from(getActivity()); final View textEntryView = factory.inflate(R.layout.dialog_settings, null); EditText editInput = (EditText) textEntryView.findViewById(R.id.dialog_settings_input_edit); if (!TextUtils.isEmpty(defaultStr)) { editInput.setText(defaultStr); } editInput.setHint(hint); editInput.setInputType(inputType); builder.setIcon(android.R.drawable.ic_dialog_info); builder.setTitle(title); builder.setView(textEntryView); builder.setNegativeButton(android.R.string.cancel, null); builder.setPositiveButton(android.R.string.ok, callback); Dialog dialog = builder.create(); return dialog; } }