Android:如何在布局xml中为视图设置上下文?
我正在ActivityGroup中使用WebView,如果WebView显示对话框并抱怨活动无效,它将引发异常。但是,如果我将WebView的上下文设置为最上面的活动,也没关系。所以我想知道如何在布局xml中设置上下文 所以我想知道如何在布局xml中设置上下文 那是不可能的。尽管如此,我在Android:如何在布局xml中为视图设置上下文?,android,layout,webview,android-context,Android,Layout,Webview,Android Context,我正在ActivityGroup中使用WebView,如果WebView显示对话框并抱怨活动无效,它将引发异常。但是,如果我将WebView的上下文设置为最上面的活动,也没关系。所以我想知道如何在布局xml中设置上下文 所以我想知道如何在布局xml中设置上下文 那是不可能的。尽管如此,我在活动组方面有一些经验,所以我知道如何解决这个问题: // in your ActivityGroup... public class YourActivityGroup extends ActivityGrou
活动组
方面有一些经验,所以我知道如何解决这个问题:
// in your ActivityGroup...
public class YourActivityGroup extends ActivityGroup{
public static YourActivityGroup self;
public YourActivityGroup(){
self = this;
// the rest of your code here
}
}
然后,当您需要上下文来显示对话框、祝酒词或其他内容时,您可以使用
YourActivityGroup.self
您可以使用LayoutFlater来实现这一点:
View viewToLoad = LayoutInflater.from(this.getParent()).inflate(R.layout.yourLayoutName, null);
this.theSpinner = (Spinner) viewToLoad.findViewById(R.id.Spinny);
this.setContentView(viewToLoad );
希望有帮助。对于对话框,您只需将上下文从此更改为
this.getParent()
但是如果我使用findViewById(…)获得微调器,我就无法设置上下文-我如何才能实现这一点?不幸的是,与ActivityGroup结合使用时,微调器不起作用…我不知道为什么要将上下文设置为微调器。。。它是否给您带来了问题?是的-它询问我的活动是否正在运行:“无法添加窗口--token android.app.LocalActivityManager$LocalActivityRecord@44ed8338无效;您的活动正在运行吗?”