【发布时间】:2013-01-31 15:48:07
【问题描述】:
我正在开发一个 ICS (4.0.3) 平板电脑应用程序,我们在其中广泛使用 DialogFrament。当用户在对话框片段中的文本编辑器内长按时,我需要防止复制/粘贴操作栏出现在屏幕顶部。幸运的是,我们有自己的基类扩展 DialogFragment(称为 MyOrgDialogFragment),我们所有的对话片段都基于它,所以如果需要我可以修改它。
我的第一次尝试涉及在MyOrgDialogFragment 中覆盖OnCreateDialog(),然后在其中覆盖onWindowStartingActionMode(),即:
@Override
public Dialog onCreateDialog(Bundle savedInstanceState)
{
return new Dialog(getActivity()) {
@Override
public ActionMode onWindowStartingActionMode(ActionMode.Callback callback)
{
return new ActionMode()
{
// [ All overrides empty ]
}
}
};
}
这几乎可以工作:它可以防止出现操作栏,并且当我在编辑字段中长按时仍然会出现选择句柄(这很好),但是当我将焦点移到另一个编辑字段。我最终将“僵尸”选择句柄悬停在我做出选择的每个编辑字段上。
谁能给我指出一个更好的解决方案?
【问题讨论】:
-
长按 EditText 时,您希望与它进行什么交互?或者你只是想阻止 ActionMode?span>
-
我只想阻止 ActionMode:我不会用任何自定义操作替换它。
标签: android android-actionbar android-dialogfragment