在UIViewController子类中,我有以下方法:
-(void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
// do something
myTextField.text = @"Default";
}
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
// do something
[myTextField selectAll:self];
[myTextField becomeFirstResponder];
}
- (void)viewDidLoad {
[super viewDidLoad];
// do something
myTextField.delegate = self;
}
Run Code Online (Sandbox Code Playgroud)
NIB是使用Interface Builder创建的.导航控制器通过pushViewController推送相应的视图控制器对象.
意图行为是在文本字段中显示默认文本条目,以选择整个文本并将文本字段设置为第一响应者.[编辑:我注意到选择所有并做出第一响应者没有意义,因为选择会消失; 不过,我想知道为什么这些方法的行为如下所述.
但是,在调用方法viewDidLoad和viewWillAppear时,不会调用viewDidAppear方法.谁能告诉我为什么?我在网上找到的大多数问题和这里处理viewWillAppear/viewDidAppear都没有用; 我也明白,在子视图或以编程方式创建的视图中,这些方法不会被引发; 但是这不适用于案例,我也想知道为什么这些"生命周期"方法中的一个被引发而另一个没有.
任何的想法?谢谢!
我正在寻找一种方法来告诉Spring在基于注释的bean上应该调用哪个方法来调用该bean.
我实际想要实现的是,当会话范围的bean被销毁时被通知以便从该会话中持久存储一些东西.
如果我错了,请纠正我.这是一个澄清问题,因为我没有看到它明确写在任何地方.
在Android 4中,您可以调用setRetainInstance(true)on Fragment以便在配置更改(这基本上意味着设备旋转)时,Fragment不会销毁java对象并且不会创建它的新实例.也就是说,保留了实例.
由于您不必处理和捆绑所有数据,因此它可以传递给新的(或)实例,只是再次进行非捆绑,因此这比Android 1-3更加理智且不那么令人愤怒.这基本上是你期望发生的事情,并且可以说它应该从一开始就如何起作用.onRetainNonConfigurationStateInstance()FragmentActivityActivity
通过setRetainInstance(true)视图也可以onCreateView()像您期望的那样在旋转时重新创建(被调用).我假设(未测试)资源解析(layoutvs layout-land)有效.
所以我的问题是双重的:
Activities从一开始为什么不喜欢这个.Fragment被无谓破坏并重新创建的轮换?因为我想不到任何.澄清我将如何做到:
class MyFragment extends Fragment
{
// All the data.
String mDataToDisplay;
// etc.
// All the views.
TextView mViewToDisplayItIn;
// etc.
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setRetainInstance(true);
mDataToDisplay = readFromSomeFileOrWhatever(); // Ignoring threading issues for now.
}
@Override
public View onCreateView(LayoutInflater inflater, …Run Code Online (Sandbox Code Playgroud) 现在,一个小部件只有initeState()在第一次创建小部件时被触发,而dispose()则在小部件被销毁时被触发.有没有一种方法来检测窗口小部件何时返回到前台?当一个小部件即将进入后台时,因为另一个小部件只是被预见了?这相当于onResume和onPause被触发为Android,viewWillAppear和viewWillDisappear为ios
有什么样的应用程序的全局onPause()和onResume()?
我的主要活动是监听GPS修复,我想在切换到另一个屏幕/活动时继续工作.因此,我不能LocationListener在活动中取消注册onPause().但是,我仍然希望在切换到另一个应用程序时取消注册我的GPS监听器(因此节省电池)并在返回我的应用程序时将其重新打开,无论用户当前处于何种屏幕/活动状态.
有任何想法吗?
我想知道在通过HttpApplication.Error事件处理错误后,ASP.NET请求生命周期的哪些部分发生.具体来说,在出现错误后,在http://msdn.microsoft.com/en-us/library/bb470252.aspx#Stages中列出的哪些事件会触发?我知道EndRequest仍然会触发,我怀疑PreSendRequestHeaders和PreSendRequestContent也是如此,但除此之外我不知道.
它取决于生命周期中何时发生错误?是否依赖于我是否在错误处理程序中调用Server.ClearError()?
我问这个问题是因为我不知道是否应该从我的错误处理程序中调用HttpApplication.CompleteRequest().
假设我有一个Hello World单个Activity应用程序.我启动这个应用程序.
在每种情况下调用哪些方法:
一旦用户通过应用程序图标再次启动应用程序,就会调用哪些方法(假设操作系统没有"其他应用程序需要内存条件"):
谢谢大家.
编辑:额外信用:用户如何在onPause不调用的情况下调用onStop?
如何设置每个请求创建一次的bean.
我试图这样做:
@Component
@Scope(value = "request")
public class TestBean {
@PostConstruct
public void init() {
System.out.println("start request");
}
@PreDestroy
public void onDestroy() {
System.out.println("ends request");
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢.
我在我的React项目中使用重构 https://github.com/acdlite/recompose/
这是一个很棒的图书馆.我正在使用该compose实用程序作为容器组件,将状态向下作为道具传递给表示组件,如下所示:
const enhance = compose(
lifecycle({
componentDidMount() {
myCall
.getResponse([productId])
.then(products => {
setIsReady(true);
});
},
}),
withState('isAvailable', 'setIsAvailable', false),
withState('isReady', 'setIsReady', false),
mapProps(({
setIsAvailable,
setIsReady,
...state,
}) => ({
onLogoutTouchTap: () => {
...
Run Code Online (Sandbox Code Playgroud)
请注意其中的setIsReady(true)电话componentDidMount.这是我想要做的,但是lifecycle/componentDidMount无权访问setIsReady.如何componentDidMount通过重构来完成更新状态的预期结果?
我没有什么活动,从一个活动我打开另一个活动,然后回到第一个...
关键是onCreate被称为1,而onResume每次显示活动时.例如,当我关闭之前从A开始的B时,onResume被调用但不是onCreate ....
我的问题是我不想在onCreate之后运行onResume,我只想在没有调用onCreate的情况下运行代码
这可能没有静态标志吗?
有来自android的一些方法或标志,如comeAfterOnCreate?
@Override
protected void onResume() {
if(comesAfterOnCreate){
//DO not run this code
}else{
//run the long task
}
Run Code Online (Sandbox Code Playgroud)
我使用静态标志显示了许多解决方案的答案,感谢各位的努力和提供帮助,但我感兴趣的是有一些方法或东西......
lifecycle ×10
android ×5
spring ×2
annotations ×1
asp.net ×1
dart ×1
flutter ×1
fragment ×1
geolocation ×1
gps ×1
ios ×1
iphone ×1
java ×1
javascript ×1
oncreate ×1
onresume ×1
reactjs ×1
recompose ×1
rotation ×1
spring-mvc ×1