package com.example.fragment;
import android.os.Bundle;
import android.support.v4.app.DialogFragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import com.example.R;
import com.example.dialog.CustomDialogFragment;
import com.example.dialog.DatePickerDialogFragment;
import com.example.dialog.ItemsDialogFragment;
import com.example.dialog.MultiChoiceItemsDialogFragment;
import com.example.dialog.ProgressDialogFragment;
import com.example.dialog.SheetDialogFragment;
import com.example.dialog.SimpleDialogFragment;
import com.example.dialog.SingleChoiceItemsDialogFragment;
import com.example.dialog.TimePickerDialogFragment;
import org.alfonz.utility.Logcat;
import java.util.Calendar;
public class ExampleFragment extends TaskFragment implements
SimpleDialogFragment.SimpleDialogListener,
ItemsDialogFragment.ItemsDialogListener,
SingleChoiceItemsDialogFragment.SingleChoiceItemsDialogListener,
MultiChoiceItemsDialogFragment.MultiChoiceItemsDialogListener,
CustomDialogFragment.CustomDialogListener,
TimePickerDialogFragment.TimePickerDialogListener,
DatePickerDialogFragment.DatePickerDialogListener,
SheetDialogFragment.SheetDialogListener
{
private static final String DIALOG_SIMPLE = "simple";
private static final String DIALOG_ITEMS = "items";
private static final String DIALOG_SINGLE_CHOICE_ITEMS = "single_choice_items";
private static final String DIALOG_MULTI_CHOICE_ITEMS = "multi_choice_items";
private static final String DIALOG_CUSTOM = "custom";
private static final String DIALOG_TIME_PICKER = "time_picker";
private static final String DIALOG_DATE_PICKER = "date_picker";
private static final String DIALOG_PROGRESS = "progress";
private static final String DIALOG_SHEET = "sheet";
private View mRootView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
mRootView = inflater.inflate(R.layout.fragment_example, container, false);
return mRootView;
}
@Override
public void onActivityCreated(Bundle savedInstanceState)
{
super.onActivityCreated(savedInstanceState);
bindData();
}
@Override
public void onSimpleDialogPositiveClick(final DialogFragment dialog)
{
runTaskCallback(new Runnable()
{
@Override
public void run()
{
Logcat.d("onSimpleDialogPositiveClick()");
}
});
}
@Override
public void onSimpleDialogNegativeClick(final DialogFragment dialog)
{
runTaskCallback(new Runnable()
{
@Override
public void run()
{
Logcat.d("onSimpleDialogNegativeClick()");
}
});
}
@Override
public void onItemsDialogItemClick(final DialogFragment dialog, final int which)
{
runTaskCallback(new Runnable()
{
@Override
public void run()
{
Logcat.d("onItemsDialogItemClick() = " + which);
}
});
}
@Override
public void onItemsDialogPositiveClick(final DialogFragment dialog)
{
runTaskCallback(new Runnable()
{
@Override
public void run()
{
Logcat.d("onItemsDialogPositiveClick()");
}
});
}
@Override
public void onItemsDialogNegativeClick(final DialogFragment dialog)
{
runTaskCallback(new Runnable()
{
@Override
public void run()
{
Logcat.d("onItemsDialogNegativeClick()");
}
});
}
@Override
public void onSingleChoiceItemsDialogPositiveClick(final DialogFragment dialog, final int checkedItem)
{
runTaskCallback(new Runnable()
{
@Override
public void run()
{
Logcat.d("onSingleChoiceItemsDialogPositiveClick() = " + checkedItem);
}
});
}
@Override
public void onSingleChoiceItemsDialogNegativeClick(final DialogFragment dialog)
{
runTaskCallback(new Runnable()
{
@Override
public void run()
{
Logcat.d("onSingleChoiceItemsDialogNegativeClick()");
}
});
}
@Override
public void onMultiChoiceItemsDialogPositiveClick(final DialogFragment dialog, final boolean[] checkedItems)
{
runTaskCallback(new Runnable()
{
@Override
public void run()
{
StringBuilder builder = new StringBuilder();
for(int i = 0; i < checkedItems.length; i++)
{
builder.append(checkedItems[i]);
builder.append(" ");
}
Logcat.d("onMultiChoiceItemsDialogPositiveClick() = " + builder.toString());
}
});
}
@Override
public void onMultiChoiceItemsDialogNegativeClick(final DialogFragment dialog)
{
runTaskCallback(new Runnable()
{
@Override
public void run()
{
Logcat.d("onMultiChoiceItemsDialogNegativeClick()");
}
});
}
@Override
public void onCustomDialogPositiveClick(final DialogFragment dialog, final String username, final String password)
{
runTaskCallback(new Runnable()
{
@Override
public void run()
{
Logcat.d("onCustomDialogPositiveClick() = " + username + " / " + password);
}
});
}
@Override
public void onCustomDialogNegativeClick(final DialogFragment dialog)
{
runTaskCallback(new Runnable()
{
@Override
public void run()
{
Logcat.d("onCustomDialogNegativeClick()");
}
});
}
@Override
public void onTimePickerDialogPositiveClick(final DialogFragment dialog, final int hour, final int minute)
{
runTaskCallback(new Runnable()
{
@Override
public void run()
{
Logcat.d("onTimePickerDialogPositiveClick() = " + hour + ":" + minute);
}
});
}
@Override
public void onDatePickerDialogPositiveClick(final DialogFragment dialog, final int year, final int month, final int day)
{
runTaskCallback(new Runnable()
{
@Override
public void run()
{
Logcat.d("onDatePickerDialogPositiveClick() = " + day + "." + (month + 1) + "." + year);
}
});
}
@Override
public void onSheetDialogStateChanged(final DialogFragment dialog, final int newState, final String username, final String password)
{
runTaskCallback(new Runnable()
{
@Override
public void run()
{
Logcat.d("onSheetDialogStateChanged() = " + newState + " / " + username + " / " + password);
}
});
}
@Override
public void onSheetDialogDismiss(final DialogFragment dialog, final String username, final String password)
{
runTaskCallback(new Runnable()
{
@Override
public void run()
{
Logcat.d("onSheetDialogDismiss() = " + username + " / " + password);
}
});
}
private void bindData()
{
// reference
Button button1 = (Button) mRootView.findViewById(R.id.fragment_example_button1);
Button button2 = (Button) mRootView.findViewById(R.id.fragment_example_button2);
Button button3 = (Button) mRootView.findViewById(R.id.fragment_example_button3);
Button button4 = (Button) mRootView.findViewById(R.id.fragment_example_button4);
Button button5 = (Button) mRootView.findViewById(R.id.fragment_example_button5);
Button button6 = (Button) mRootView.findViewById(R.id.fragment_example_button6);
Button button7 = (Button) mRootView.findViewById(R.id.fragment_example_button7);
Button button8 = (Button) mRootView.findViewById(R.id.fragment_example_button8);
Button button9 = (Button) mRootView.findViewById(R.id.fragment_example_button9);
// content
button1.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
showSimpleDialog("hello");
}
});
button2.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
showItemsDialog("hello");
}
});
button3.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
showSingleChoiceItemsDialog(-1);
}
});
button4.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
final boolean[] checkedItems = {
true,
false,
true,
false};
showMultiChoiceItemsDialog(checkedItems);
}
});
button5.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
showCustomDialog("hello");
}
});
button6.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
showTimePickerDialog(Calendar.getInstance());
}
});
button7.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
showDatePickerDialog(Calendar.getInstance());
}
});
button8.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
showProgressDialog();
}
});
button9.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
showSheetDialog("hello");
}
});
}
private void showSimpleDialog(String arg)
{
DialogFragment fragment = SimpleDialogFragment.newInstance(arg);
fragment.setTargetFragment(this, 0);
fragment.show(getFragmentManager(), DIALOG_SIMPLE);
}
private void showItemsDialog(String arg)
{
DialogFragment fragment = ItemsDialogFragment.newInstance(arg);
fragment.setTargetFragment(this, 0);
fragment.show(getFragmentManager(), DIALOG_ITEMS);
}
private void showSingleChoiceItemsDialog(int checkedItem)
{
DialogFragment fragment = SingleChoiceItemsDialogFragment.newInstance(checkedItem);
fragment.setTargetFragment(this, 0);
fragment.show(getFragmentManager(), DIALOG_SINGLE_CHOICE_ITEMS);
}
private void showMultiChoiceItemsDialog(boolean checkedItems[])
{
DialogFragment fragment = MultiChoiceItemsDialogFragment.newInstance(checkedItems);
fragment.setTargetFragment(this, 0);
fragment.show(getFragmentManager(), DIALOG_MULTI_CHOICE_ITEMS);
}
private void showCustomDialog(String arg)
{
DialogFragment fragment = CustomDialogFragment.newInstance(arg);
fragment.setTargetFragment(this, 0);
fragment.show(getFragmentManager(), DIALOG_CUSTOM);
}
private void showTimePickerDialog(Calendar time)
{
DialogFragment fragment = TimePickerDialogFragment.newInstance(time);
fragment.setTargetFragment(this, 0);
fragment.show(getFragmentManager(), DIALOG_TIME_PICKER);
}
private void showDatePickerDialog(Calendar date)
{
DialogFragment fragment = DatePickerDialogFragment.newInstance(date);
fragment.setTargetFragment(this, 0);
fragment.show(getFragmentManager(), DIALOG_DATE_PICKER);
}
private void showProgressDialog()
{
DialogFragment fragment = ProgressDialogFragment.newInstance();
fragment.setTargetFragment(this, 0);
fragment.show(getFragmentManager(), DIALOG_PROGRESS);
}
private void hideProgressDialog()
{
getFragmentManager().executePendingTransactions();
DialogFragment fragment = (DialogFragment) getFragmentManager().findFragmentByTag(DIALOG_PROGRESS);
if(fragment != null) fragment.dismiss();
}
private void showSheetDialog(String arg)
{
DialogFragment fragment = SheetDialogFragment.newInstance(arg);
fragment.setTargetFragment(this, 0);
fragment.show(getFragmentManager(), DIALOG_SHEET);
}
}