public boolean isShowing() {
return mDecor == null ? false : mDecor.getVisibility() == View.VISIBLE;
}
Dialog 判断isHidden ,官方源码方法与实际不符,有bug,日志如下(此时我已经调了dialog.hide(),界面也已隐藏):
2022-05-19 12:57:35.844 12362-12362/com.example.FirstActivityActivity: isShowing=true
以下参考来自,感谢:http://cn.voidcc.com/question/p-nkfwraut-pe.html
<article style="box-sizing: border-box; display: block; margin: 10px 0px;">
4 我想一个安卓:FragmentTransaction隐藏不为DialogFragment
fragmentTransaction.hide(myDialogFragment);
fragmentTransaction.addToBackStack(null);
添加到FragmentTransaction,这样当用户点击后退按钮,对话框将重新出现的工作,但它不工作。我本来推翻onCreateDialog在我DialogFragment,但我注意到,对于hide呼叫FragmentTransaction文档指出:
这仅仅是片段,其观点已被添加到一个容器 相关。
因此,现在我重写onCreateView。现在它有点隐藏,但不是真的。对话只是枯萎,但窗户仍然黑暗。我必须打开后退按钮才能摆脱它,显然这不是我想要的行为。我在这里错过了什么?
2012-02-08 Christopher Perry
</article>
A
<article class="board-top-1 padding-top-10" style="box-sizing: border-box; display: block; margin: 10px 0px; padding-top: 10px; border-top: 1px solid rgb(221, 221, 221);">
8
一个DialogFragment内部维护一个对话框,并要求根据其自己的生命周期显示和隐藏它的方法。调用FragmentTransaction.hide()只是试图设置片段的视图的知名度,深受Fragment.onCreateView()返回的,要View.GONE。 DialogFragment的视图恰好是用于其内部对话框的视图,因此您正在做的是将内容隐藏在对话框中。不幸的是,隐藏视图不会“关闭”对话框,因此屏幕仍然会变暗。
当您拨打DialogFragment.show(FragmentTransaction,String)时,会创建一个FragmentTransaction将其添加到FragmentManager。通常,显示对话框被认为是“活动”交易,然后解散它只是弹出适当的次数。如果您之间没有添加任何其他片段,则使用删除操作创建新的FragmentTransaction。如果我们可以访问这个,那么我们可以添加一个backstack入口并使这个操作可逆。不幸的是,这是不可能的,所以我们能做的最好的就是让我们自己的解雇方法(和希望的内部状态不会太搞砸了):
public class UndoDialogFragmentActivity extends FragmentActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button button = (Button) findViewById(R.id.button);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// show a dialog fragment in the normal way
new MyDialogFragment().show(getSupportFragmentManager(), "dialog");
}
});
}
private static class MyDialogFragment extends DialogFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setStyle(STYLE_NO_TITLE, getTheme());
// do not allow back button to dismiss dialog; confusing behaviour otherwise!
setCancelable(false);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
Button button = new Button(getActivity());
button.setText("Dismiss");
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// pressing back after 'dismissing' the dialog will cause it to be added again
getFragmentManager().beginTransaction().remove(MyDialogFragment.this).addToBackStack(null).commit();
}
});
return button;
}
}
}
点击片段中的按钮会使用自己的解除按钮打开DialogFragment。按下解除后,您可以通过按下后退键再次显示对话框,撤消删除操作。当您允许后退键显示和隐藏对话框时,这会产生一些有问题的行为,但细节可以由您根据您的应用程序决定。
2012-03-16 22:28:05 antonyt
+1
我有这个奇妙的问题。(回 - >新片段),它是由注释解决的BeginTransaction()在我的代码删除。不能underestand为什么回到'撤消'删除操作。请解释我! – <small style="box-sizing: border-box; font-size: 13px;">2013-07-05 10:12:51</small>
</article>
<article class="board-top-1 padding-top-10" style="box-sizing: border-box; display: block; margin: 10px 0px; padding-top: 10px; border-top: 1px solid rgb(221, 221, 221);">
4
我可以通过我的DialogFragment内调用从getDialog().hide()躲DialogFragment的对话框。
2012-09-18 22:07:47 villagecodesmith
</article>
<article class="board-top-1 padding-top-10" style="box-sizing: border-box; display: block; margin: 10px 0px; padding-top: 10px; border-top: 1px solid rgb(221, 221, 221);">
1
如果您使用API Level 11或更高版本,你可以简单地调用dismiss()在DialogFragment,无论是从FragmentActivity或DialogFragment本身。
</article>
-----------------------------End-----------------------------
我刚刚了解到,在Java中,覆盖和隐藏之间是有区别的(静态方法是隐藏的,而不是覆盖),这意味着Java使用早期绑定(bind)和后期绑定(bind)。是否有与方法隐藏类似的东西,或者它只是具有方法重写? 最佳答案 Java具有三种不同的“方法”:实例方法,静态方法和构造函数。Ruby只有一个:实例方法。在Java中,静态方法的行为必须不同于实例方法,因为类不是对象。它们没有类,因此也没有父类(superclass),因此没有要覆盖的内容。在Ruby中,类与其他任何对象一样都是对象,它们具有一个类,该类可以具有父类(superclas
我正试图在Rails中获得完整的页面缓存,但我在CSRF方面遇到了很大的障碍——或者可能只是我对它的理解。我目前有form_authenticity_token存储在cookie中的字符串,JS可以使用该cookie访问和重写header标签。我在生成的HTML中有两个地方可以找到标记:1)在头部2)在表单的隐藏输入元素中如前所述,这些哈希值彼此不同(在未启用缓存的开发模式下)。他们为什么不同?为什么我可以删除headmeta标签并保留表单输入并且允许请求?然而,当我删除表单输入标签并保留标题时,请求被拒绝了吗?实际上这意味着head标签是无用的,不是吗?我可以将表单输入标签重写为
在笔者前面有一篇文章《驱动开发:断链隐藏驱动程序自身》通过摘除驱动的链表实现了断链隐藏自身的目的,但此方法恢复时会触发PG会蓝屏,偶然间在网上找到了一个作者介绍的一种方法,觉得有必要详细分析一下他是如何实现的进程隐藏的,总体来说作者的思路是最终寻找到MiProcessLoaderEntry的入口地址,该函数的作用是将驱动信息加入链表和移除链表,运用这个函数即可动态处理驱动的添加和移除问题。MiProcessLoaderEntry(pDriverObject->DriverSection,1)添加MiProcessLoaderEntry(pDriverObject->DriverSection,
我的数据库中有一个名为IP的字段,当他在我的Rails内置博客中发送消息时,我将用户IP(在#create方法中)放在该字段中。但是当我想以另一种格式(JSON)查看文章时,该字段是可见的。如何隐藏字段IP? 最佳答案 您可以在Controller中的格式block中执行此操作,如下所示:respond_todo|format|format.json{render:json=>@user,:except=>[:ip]}#orwithoutformatblock:@user.to_json(:except=>:ip)end如果你想普遍
我正在使用Gosugem进行一些图形编程。问题是,当我创建一个窗口时,我的鼠标指针被隐藏了。我可以猜到鼠标在某个时刻的位置,我可以凭直觉点击,但我的用户可能不会。如何显示指针? 最佳答案 如果你想使用系统光标你可以这样做classWindow查看libgosu的文档RubyGosurdocReference/Window 关于ruby-为什么Gosu隐藏我的鼠标指针?,我们在StackOverflow上找到一个类似的问题: https://stackoverf
在评估表单中有一个提交按钮和一个按钮。如果点击私有(private)提交,提交的信息将对查看个人资料的其他用户隐藏。我们怎样才能同时使用隐藏提交的信息以防止在提要上显示?activities/index.html.erbFeed#We'dneedtomake.public_valuationsworkwiththiswithoutgettinganundefinedmethoderror.activities_controller.rbclassActivitiesController为简洁起见,我将只包含_create(还有update和destroy)。每次用户提交估价时,它都会在
我在我的Rails应用程序中应用了rails_admingem。我想删除特定模型编辑表单中一些不必要的按钮,并添加我自己的自定义按钮。请查看屏幕截图,了解我要删除的内容。 最佳答案 @montells复制https://github.com/sferik/rails_admin/blob/master/app/views/rails_admin/main/_submit_buttons.html.haml这个页面在你的repo中,位于“views/rails_admin/main/_submit_buttons.html.haml”
在我的应用程序中,有些资源无法销毁。所以我这样写了我的模型:before_destroy:destroy_checkdefdestroy_checkifsome_reason?errors.add(:base,'cannotdestroythisresource!')enderrors.blank?end然后,当我在ActiveAdmin中单击销毁按钮时,没有任何显示:没有错误,没有消息,并且记录没有真正销毁。如何在销毁失败时显示错误消息? 最佳答案 首先使用模型的before_destroy回调来检查记录是否可以被销毁(这里如果学
我需要在rubyonrails中自动淡化flash消息。我的消息代码是:我如何自动淡化这些消息? 最佳答案 这应该适合您。您可以在括号内指定时间跨度。将此添加到您的Javascript。这对所有人来说都很常见:$(".alert").fadeOut(3000);对于警报成功:$(".alert-success").fadeOut(3000);对于警报危险:$(".alert-danger").fadeOut(3000); 关于jquery-自动隐藏rails中的flash消息,我们在
所以我在Rails上工作,对我的用户模型感到有点沮丧,所以我销毁了它(我也在使用设计,这可能是错误的来源)。在我的辩护中,我感到疲倦、沮丧,而且有点微醺。我尝试使用简单的railsgscaffolduserfirst:textlast:text将其添加回去,但在尝试生成模型时出现以下错误。我该如何修复这一切备份?/home/action/.rvm/gems/ruby-2.0.0-p247/gems/activesupport-4.0.0/lib/active_support/inflector/methods.rb:226:in`const_get':uninitializedcons