2012-04-07 80 views
0

我写的InputMethodService,基本上只是一个软键盘,从我开始另一项活动:保存键盘状态

class Foo extends InputMethodService { 
    // ... 
    private void startNewActivity() { 
     Intent i = new Intent(this, NewActivity.class); 
     i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
     startActivity(i); 
    } 
    // ... 
} 

但我这样做的时候,用户会在进程打字。例如,用户按下'a'键开始新的活动。有没有办法,当用户完成新的活动,我可以返回他们打字,并把键盘放回原样?

回答

1

您正在输入的应用程序存储您在输入onPause()和相关方法期间输入的数据。然后,应用程序应该恢复其状态onResume()。注意这些都不能由您的键盘控制。

您可以做的一件事(取决于您开始活动的性质)是让活动成为对话框。然后它会出现在当前活动上,并且当对话框关闭时(后退按钮被按下或者您打电话给finish()),所有事情都会恢复到原样。