【发布时间】:2010-09-14 03:56:14
【问题描述】:
我在 ActivityGroup 中使用 WebView,如果 WebView 显示 Dialog 并抱怨活动无效,它将引发异常。但是如果我将 WebView 的上下文设置为 TOP 活动就可以了。所以我想知道如何在布局xml中设置上下文?
【问题讨论】:
标签: android layout webview android-context
我在 ActivityGroup 中使用 WebView,如果 WebView 显示 Dialog 并抱怨活动无效,它将引发异常。但是如果我将 WebView 的上下文设置为 TOP 活动就可以了。所以我想知道如何在布局xml中设置上下文?
【问题讨论】:
标签: android layout webview android-context
您可以使用 layoutinflater 来实现:
View viewToLoad = LayoutInflater.from(this.getParent()).inflate(R.layout.yourLayoutName, null);
this.theSpinner = (Spinner) viewToLoad.findViewById(R.id.Spinny);
this.setContentView(viewToLoad );
希望对您有所帮助。对于对话框,您只需将上下文从 this 更改为
this.getParent()
【讨论】:
所以我想知道如何在布局 xml 中设置上下文?
这是不可能的。不过,我对ActivityGroup 有一些经验,所以我知道如何解决这个问题:
// in your ActivityGroup...
public class YourActivityGroup extends ActivityGroup{
public static YourActivityGroup self;
public YourActivityGroup(){
self = this;
// the rest of your code here
}
}
然后,当您需要上下文来显示对话框或 Toast 或其他内容时,您可以使用 YourActivityGroup.self。
【讨论】: