在应用程序设置中进行某些更改时,我在recreate的onActivityResult中调用MainActivity。重新创建后,不调用onResume。
我也收到错误:E/ActivityThread: Performing pause of activity that is not resumed
从this问题开始,我了解到不能从onResume调用此函数。但是我从onActivityResult打电话给他们。另外,使用处理程序来调用recreate可以解决问题,但会导致眨眼,对用户而言很糟糕。这可能是什么错误?没有recreate的情况下如何使用Handler?
任何想法将不胜感激。谢谢!
最佳答案
在onResume()之前调用OnActivityResult()。您可以做的是在OnActivityResult()中设置一个标志,您可以在onResume()中检入,如果该标志为true,则可以重新创建活动。
您实际上可以做的是完成活动并开始相同的活动,而不是重新创建活动。您将获得相同的效果。可能是这样的:public class MainActivity extends AppCompatActivity {
private boolean shouldRecreate = false;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.d("AG", "onCreate(