我正在使用兼容性包,并且我有一个
仅为清楚起见,以下是两种不同的情况:
Fragment
在onCreateView中返回一个WebView
。问题是,如果该片段未在Activity
的onCreate期间添加,则当单击WebView
中的文本框时,软键盘不会显示。如果在添加自定义 Web 片段后旋转设备并重新创建活动,则单击文本字段时显示软键盘。仅为清楚起见,以下是两种不同的情况:
public void onCreate(Bundle state){
if(state == null){
WebFragment web = new WebFragment();
getSupportFragmentManager.beginTransaction().add(android.R.id.content, web).commit();
}
}
public void onClick(View v){
WebFragment web = new WebFragment();
getSupportFragmentManager.beginTransaction().add(android.R.id.content, web).commit();
}
在第一种情况下,在Activity onCreate方法中添加片段时,当点击文本字段时,片段中包含的WebView可以正常工作。然而,在第二个示例中,除非您在WebView显示后旋转设备,否则单击文本字段时不会发生任何事情。如果我必须为我的片段创建一个新活动才能使其正常工作,那么这有点违背了片段的初衷。是否有人可以提供一个解决方案?
res/layout/test.xml
是什么,也不知道test()
方法是如何被调用的。请考虑将演示问题的完整项目压缩成ZIP文件并发布到某个地方。 - CommonsWare