Material 对话框的 onSelect 接口
onSelect Interface for Material Dialog
我已经成功实现了 Material 对话框:
现在,当我在 Material 对话框中进行选择时,我想更新片段抽屉中的标签。
所以我想:简单,只要实现接口,你就会有回调方法。但是这些方法永远不会 运行。
我已经尝试了一些方法,但其中 none 行得通,因为它们永远不会 运行。
public class FragmentDrawer extends Fragment implements MaterialDialog.ListCallbackSingleChoice, MaterialListPreference.OnPreferenceClickListener, MaterialDialog.OnShowListener, MaterialDialog.OnClickListener{
(...)
@Override
public boolean onSelection(MaterialDialog materialDialog, View view, int i, CharSequence charSequence) {
SnackbarManager.show(
Snackbar.with(getActivity())
.text("Single-line snackbar"));
return false;
}
}
对话:
new MaterialDialog.Builder(getActivity())
.title(R.string.title)
.items(R.array.items)
.itemsCallbackSingleChoice(-1, new MaterialDialog.ListCallbackSingleChoice() {
@Override
public boolean onSelection(MaterialDialog dialog, View view, int which, CharSequence text) {
/**
* If you use alwaysCallSingleChoiceCallback(), which is discussed below,
* returning false here won't allow the newly selected radio button to actually be selected.
**/
return true;
}
})
.positiveText(R.string.positive_text)
.showListener(new DialogInterface.OnShowListener() {
@Override
public void onShow(DialogInterface dialog) {
}
})
.show();
感谢帮助!
你试过吗? :
public class FragmentDrawer extends Fragment implements MaterialDialog.ListCallbackSingleChoice, MaterialListPreference.OnPreferenceClickListener, MaterialDialog.OnShowListener, MaterialDialog.OnClickListener{
(...)
@Override
public boolean onSelection(MaterialDialog materialDialog, View view, int i, CharSequence charSequence) {
SnackbarManager.show(
Snackbar.with(getActivity())
.text("Single-line snackbar"));
return false;
}
}
new MaterialDialog.Builder(getActivity())
.title(R.string.title)
.items(R.array.items)
.itemsCallback(this)
.positiveText(R.string.positive_text)
.showListener(new DialogInterface.OnShowListener() {
@Override
public void onShow(DialogInterface dialog) {
}
})
.show();
我已经成功实现了 Material 对话框:
现在,当我在 Material 对话框中进行选择时,我想更新片段抽屉中的标签。 所以我想:简单,只要实现接口,你就会有回调方法。但是这些方法永远不会 运行。
我已经尝试了一些方法,但其中 none 行得通,因为它们永远不会 运行。
public class FragmentDrawer extends Fragment implements MaterialDialog.ListCallbackSingleChoice, MaterialListPreference.OnPreferenceClickListener, MaterialDialog.OnShowListener, MaterialDialog.OnClickListener{
(...)
@Override
public boolean onSelection(MaterialDialog materialDialog, View view, int i, CharSequence charSequence) {
SnackbarManager.show(
Snackbar.with(getActivity())
.text("Single-line snackbar"));
return false;
}
}
对话:
new MaterialDialog.Builder(getActivity())
.title(R.string.title)
.items(R.array.items)
.itemsCallbackSingleChoice(-1, new MaterialDialog.ListCallbackSingleChoice() {
@Override
public boolean onSelection(MaterialDialog dialog, View view, int which, CharSequence text) {
/**
* If you use alwaysCallSingleChoiceCallback(), which is discussed below,
* returning false here won't allow the newly selected radio button to actually be selected.
**/
return true;
}
})
.positiveText(R.string.positive_text)
.showListener(new DialogInterface.OnShowListener() {
@Override
public void onShow(DialogInterface dialog) {
}
})
.show();
感谢帮助!
你试过吗? :
public class FragmentDrawer extends Fragment implements MaterialDialog.ListCallbackSingleChoice, MaterialListPreference.OnPreferenceClickListener, MaterialDialog.OnShowListener, MaterialDialog.OnClickListener{
(...)
@Override
public boolean onSelection(MaterialDialog materialDialog, View view, int i, CharSequence charSequence) {
SnackbarManager.show(
Snackbar.with(getActivity())
.text("Single-line snackbar"));
return false;
}
}
new MaterialDialog.Builder(getActivity())
.title(R.string.title)
.items(R.array.items)
.itemsCallback(this)
.positiveText(R.string.positive_text)
.showListener(new DialogInterface.OnShowListener() {
@Override
public void onShow(DialogInterface dialog) {
}
})
.show();