package hk.hku.cs.srli.factfinder.ui;
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.DialogFragment;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.widget.NumberPicker;
import hk.hku.cs.srli.factfinder.FFApp;
import hk.hku.cs.srli.factfinder.DataSet.DataItem;
import hk.hku.cs.srli.factfinder.R;
public class FFDialog extends DialogFragment {
private DataItem mFact;
private NumberPicker np;
private DialogInterface.OnClickListener mListener;
public static FFDialog newInstance(int section, int id) {
FFDialog f = new FFDialog();
Bundle args = new Bundle();
args.putInt("id", id);
args.putInt("section", section);
f.setArguments(args);
return f;
}
public void setListener(DialogInterface.OnClickListener mListener) {
this.mListener = mListener;
}
public int getNumber() {
return np.getValue();
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
mFact = FFApp.getData(getActivity()).getItem(
getArguments().getInt("section"), getArguments().getInt("id"));
View view = getActivity().getLayoutInflater().inflate(R.layout.dialog, null);
np = (NumberPicker) view.findViewById(R.id.numberPicker1);
np.setMinValue(1);
np.setMaxValue(10);
// workaround to disable soft keyboard for NumberPicker
np.setDescendantFocusability(NumberPicker.FOCUS_BLOCK_DESCENDANTS);
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle(mFact.name).setView(view)
.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
FFDialog.this.dismiss();
}
});
if (mListener != null)
builder.setPositiveButton("OK", mListener);
return builder.create();
}
}