package org.openintents.shopping.ui.dialog; import android.app.AlertDialog; import android.content.Context; import android.content.DialogInterface; import android.content.DialogInterface.OnClickListener; import android.text.method.KeyListener; import android.view.LayoutInflater; import android.view.View; import android.widget.EditText; import org.openintents.shopping.R; import org.openintents.shopping.ui.PreferenceActivity; public class RenameListDialog extends AlertDialog implements OnClickListener { private Context mContext; protected EditText mEditText; private DialogActionListener mDialogActionListener; public RenameListDialog(Context context) { super(context); mContext = context; init(); } public RenameListDialog(Context context, String name, DialogActionListener listener) { super(context); mContext = context; init(); setName(name); setDialogActionListener(listener); } /** * @param context */ private void init() { LayoutInflater inflater = LayoutInflater.from(mContext); final View view = inflater.inflate(R.layout.dialog_rename_list, null); setView(view); mEditText = (EditText) view.findViewById(R.id.edittext); KeyListener kl = PreferenceActivity .getCapitalizationKeyListenerFromPrefs(mContext); mEditText.setKeyListener(kl); setIcon(android.R.drawable.ic_menu_edit); setTitle(R.string.ask_rename_list); setButton(mContext.getText(R.string.ok), this); setButton2(mContext.getText(R.string.cancel), this); } public void setName(String name) { mEditText.setText(name); // To move cursor position to the end of list's name mEditText.setSelection(name.length()); } public void setDialogActionListener(DialogActionListener listener) { mDialogActionListener = listener; } public void onClick(DialogInterface dialog, int which) { if (which == BUTTON1) { pressOk(); } } public void pressOk() { String name = mEditText.getText().toString(); mDialogActionListener.onAction(name); } }