我无法恢复我的一项活动的状态。我从活动A中开始活动B
mListView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, final int position, long id) {
// Display dialog
AlertDialog.Builder builder = new AlertDialog.Builder(TransactionActivity.this);
builder.setTitle(null)
.setItems(R.array.tran_options_array, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// The 'which' argument contains the index position
// of the selected item
switch (which) {
case 0:
//
// View
//
// Load transaction detail activity
Intent intent = new Intent(getApplicationContext(),
TransactionDetailActivity.class);
Bundle bundle = new Bundle();
Tran transaction = mTransactionList.get(position);
bundle.putSerializable("transaction_key", mTransactionList.get(position));
intent.putExtras(bundle);
startActivity(intent);
break;...
@Override
protected void onSaveInstanceState(Bundle outState) {
outState.putString("type", mType);
super.onSaveInstanceState(outState);
}
startActivity(intent)之后,调用onPause(),然后调用onSaveInstanceState()。单击活动B上的“上一步”按钮,会导致在活动A中调用onDestroy(),然后再调用onCreate(),其中(Bundle savedInstanceState)为null。
您确定已调用onSaveInstanceState()吗?
从onSaveInstanceState()的文档中可以看出:
不要将此方法与活动生命周期回调混淆,例如onPause(),它总是在活动置于后台或在其销毁过程中调用,或者onStop()在销毁之前调用。[…]调用onPause()而不是onSaveInstanceState(Bundle)的一个示例是在活动A之前启动活动B:如果在活动A的生命周期内未终止,系统可能会避免对活动A调用onSaveInstanceState(Bundle),因为A的用户界面状态将保持不变。
问题内容: 你们有以下问题的解决方法吗? 在注册活动的onDestroy中(当用户按下后退按钮时),我调用一个新活动,以便用户可以输入当天的某些最终生产数据,然后通过电子邮件发送该报告。问题在于,在刚刚开始的活动中,对getIntent的调用返回null,而我必须从那里获取数据。 ================================================== ========
我正在尝试启动一个活动,其中包括捆绑包。我正在尝试将这个捆绑包设置为空,因为还没有任何东西传递给这个活动。 目前,Android系统导致活动崩溃。未找到资源错误 编辑添加错误日志 08-24 10:39:33.180:E/AndroidRuntime(21177):致命异常:main 08-24 10:39:33.180:E/AndroidRuntime(21177):java。lang.Runt
我试图显示我的firestore数据库的内容,它在ios上工作得很好,但android是空的,我已经按照https://rnfirebase.io/上的说明为android设置了T,我创建了多个新应用程序,但没有效果。 Firebase承认有2个应用程序连接,但无论我做什么,没有显示。 Ive更新了规则以接受任何连接,但仍然没有。还有人遇到过这个问题吗?任何需要的信息都可以提供,但看到这个应用程序
“还原”功能会先删除数据库已选择的对象,然后根据你的备份创建新的对象。最后,插入数据。 还原一个备份到现有的数据库或模式 在主窗口中,打开一个数据库或模式。 点击“备份”并选择一个现有的备份文件。 在对象工具栏点击“还原备份”。 选择还原选项并点击“还原”。 还原一个备份到新的数据库或模式 创建并打开一个新的数据库或模式。 点击“备份”。 右击对象选项卡的任意位置并选择“还原备份从”。 浏览备份文
“还原”功能会先删除数据库已选择的对象,然后根据你的备份创建新的对象。最后,插入数据。 还原一个备份到现有的数据库或模式 在主窗口中,打开一个数据库或模式。 点击“备份”并选择一个现有的备份文件。 在对象工具栏点击 。 选择还原选项并点击“开始”。 还原一个备份到新的数据库或模式 创建并打开一个新的数据库或模式。 点击“备份”。 按住 Control 键并点按对象选项卡的任意位置,然后选择“还原备
“还原”功能会先删除数据库已选择的对象,然后根据你的备份创建新的对象。最后,插入数据。 还原一个备份到现有的数据库或模式 在主窗口中,打开一个数据库或模式。 点击“备份”并选择一个现有的备份文件。 在对象工具栏点击“还原备份”。 选择还原选项并点击“开始”。 还原一个备份到新的数据库或模式 创建并打开一个新的数据库或模式。 点击“备份”。 右击对象选项卡的任意位置并选择“还原备份从”。 浏览备份文