我有多种forms,我有必填字段和可选字段。 要提交这样一个表单,我需要对需要执行的属性进行validation,这很好。 要取消这种forms,我使用p:commandbutton上的属性immediate="true" ,这使得它的行为发生在Apply Request Values -Phase期间,如下所示: 当单击一个特定的button时如何跳过validation? 但是,对于大型表单,我想为用户提供一个Save-Button,所以他可以稍后进行。 为了保存当前状态,我也想忽略必需属性的validation。 但是,使用immediate="true"不起作用,因为那么我的save方法简单地不会保存任何内容,因为JSF生命周期永远不会碰到“UpdateModelValues”-Phase。 (根据http://www.javacodegeeks.com/2012/01/jsf-and-immediate-attribute-command.html ) 那么,如何绕过必需的检查,但不跳过生命周期的一半呢?
我明白,当屏幕的方向发生变化时,会调用当前的onDestroy()活动,然后调用onCreate()来有效地重新创build活动。 我需要知道如何以编程方式确定应用程序是否正在退出,或者只是方向正在改变。 一种方法是在上一个活动的onResume()方法被调用时通知我,这会让我知道用户已经按下了后退button,方向没有改变。 附言:我正在寻找一个解决scheme比听后面的硬件button点击更优雅。 这是我想要做的: 我有两个选项卡,第一次input活动或用户已经离开活动并且正在input活动时,会根据某些标准显示某个选项卡。 当方向改变时,我需要留在同一个选项卡上。
任何人都可以告诉我Application_End何时在应用程序的生命周期中被触发? 当所有会话结束时,Application_End会自动触发吗? + Application_End是否有其他原因可以触发?
我是React.js的新手,我正在努力理解反应生命周期方法中的几个方法。 到目前为止,我还是有一些让我困惑的东西: 1) 据我了解, componentWillUpdate和componentWillReceiveProps之间的区别是,当父母更换道具时, componentWillReceiveProps将被调用,我们可以在componentWillReceiveProps使用setState(setState)。 例如: https : //github.com/bgerm/react-table-sorter-demo/blob/master/jsx/app.jsx var App = React.createClass({ getInitialState: function() { return {source: {limit: "200", source: "source1"}}; }, handleSourceChange: function(source) { this.setState({source: source}); }, render: function() { return ( <div> <DataSourceSelectors onSourceChange={this.handleSourceChange} source={this.state.source} /> <TableSorter dataSource={urlForDataSource(this.state.source)} config={CONFIG} headerRepeat="5" /> </div> ); } }); 在TableSorter中,我们有 componentWillReceiveProps: function(nextProps) { // Load […]
免责声明:我知道这是糟糕的devise,我只是出于好奇而提出这个问题,以便获得有关C ++析构函数如何工作的更深层次的知识。 在C#中,可以在类的析构函数中写入: GC.KeepAlive(this) (见下面的编辑) ,这意味着即使在析构函数调用完成后,对象仍然会在内存中活着。 C ++的devise是否允许从类似于上述C#algorithm的析构函数中恢复对象? 编辑 :正如下面的答案指出的, GC.ReRegisterForFinalize()与GC.KeepAlive(this)的问题更紧密相关。
我有一个包含ViewPager的片段。 ViewPager与包含一组片段的适配器相关联。 加载父片段后,遇到IllegalStateException ,消息: java.lang.IllegalStateException: Recursive entry to executePendingTransactions 。 一些研究使我得出这样一个结论:系统无法在另一个片段中显示片段,但是似乎有一些迹象表明,使用ViewPager(ViewPager中的一个bug使用它与其他片段 )。 事实上,如果我按下的button添加到我的父代片段,当我的ViewPager按下时调用mPager.setAdapter(mAdapter) ,ViewPager成功加载。 这并不理想。 这个问题必然与片段生命周期有关。 因此,我的问题是:有没有人find解决这个问题的办法,如果是的话,怎么办? 有没有办法延迟ViewPager上的适配器的设置,直到片段事务之后? 这是我的父母片段代码: @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { mView = inflater.inflate(R.layout.team_card_master, container, false); mViewPager = (ViewPager)mView.findViewById(R.id.team_card_master_view_pager); final Button button = (Button)mView.findViewById(R.id.load_viewpager_button); button.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { mViewPager.setAdapter(mAdapter); button.setVisibility(View.GONE); } }); […]
我正在使用以下方法通过显示/隐藏片段(在我的NavigationDrawer)之间切换。 protected void showFragment(int container, Fragment fragment, String tag, String lastTag, boolean addToBackStack ) { FragmentManager fragmentManager = getSupportFragmentManager(); FragmentTransaction transaction = fragmentManager.beginTransaction(); if ( lastTag != null && !lastTag.equals("")) { Fragment lastFragment = fragmentManager.findFragmentByTag( lastTag ); if ( lastFragment != null ) { transaction.hide( lastFragment ); } } if ( fragment.isAdded() ) { transaction.show( […]
我们都知道Android Activity的生命周期和Fragment的生命周期 。 但是有什么相同的意见? 例如,这可以帮助构build自定义视图,或者深入了解Android上常见且经常隐藏的graphics操作。 提前致谢 !
我知道一个片段的视图层次结构必须在onCreateView中膨胀,但onCreateView什么其他function可以与什么应该等待onActivityCreated? 我目前的实现使用单独的一切活动,一个典型的活动在onCreate方法中完成大部分的工作,包括扩展视图,设置内容视图,用数据初始化各种小部件,设置监听器等等。 那么这可能全部移到onCreateView,或者应该把一些函数放入onActivityCreated方法呢?
我试图在Dagger 2的范围内包围我的头,特别是范围图的生命周期。 你如何创build一个组件,当你离开示波器时将被清理。 对于Android应用程序,使用Dagger 1.x,通常在应用程序级别有一个根作用域,您可以在活动级别创build一个子作用域。 public class MyActivity { private ObjectGraph mGraph; public void onCreate() { mGraph = ((MyApp) getApplicationContext()) .getObjectGraph() .plus(new ActivityModule()) .inject(this); } public void onDestroy() { mGraph = null; } } 只要你保留了一个参考,子范围就存在了,在这种情况下,就是你的活动的生命周期。 删除onDestroy中的引用可以确保范围图可以被垃圾收集。 编辑 杰西·威尔逊(Jesse Wilson)最近发布了一篇文章 匕首1.0严重搞砸了它的作用域名称@Singleton注释既用于根图也用于自定义graphics,所以很难弄清楚事物的实际范围是什么。 而我读过/听过的所有内容都指向了Dagger 2,改善了示波器的工作方式,但是我正在努力去理解它们之间的差异。 根据下面的@Kirill Boyarshinov的评论,组件或依赖的生命周期仍然像往常一样通过具体的参考来确定。 那么Dagger 1.x和2.0范围的区别纯粹是语义清晰的问题吗? 我的理解 匕首1.x 依赖关系是@Singleton或不。 这同样适用于根图和子图中的依赖关系,从而导致依赖关系绑定到哪个图的模糊性(请参见在Dagger中是在被caching的子图内的单例,或者当新的活动子图时总是被重新创build被构造? ) 匕首2.0 自定义作用域允许您创build语义清晰的作用域,但在function上等同于在Dagger 1.x中应用@Singleton 。 […]