Android:如何在布局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

我正在ActivityGroup中使用WebView,如果WebView显示对话框并抱怨活动无效,它将引发异常。但是,如果我将WebView的上下文设置为最上面的活动,也没关系。所以我想知道如何在布局xml中设置上下文

所以我想知道如何在布局xml中设置上下文

那是不可能的。尽管如此,我在
活动组
方面有一些经验,所以我知道如何解决这个问题:

// 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无效;您的活动正在运行吗?”