super.onCreate(savedInstanceState)之前的volley或okhttp;?

时间:2017-03-02 15:36:15

标签: android android-layout android-studio android-theme

我需要使用volley或okhttp从color.php?id=获取颜色并设置此颜色:

setTheme(colorId);

问题是在super.onCreate(savedInstanceState);

之前设置所需的颜色

我的问题是,是否可以从服务器获取此颜色并在super.oncreate之前设置它?如果可能,有人可以给我一个例子吗?

1 个答案:

答案 0 :(得分:3)

在onCreate方法中,您可以跳过setContentView,然后在获得网络响应时调用它。像这样:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    getColor();
}

private void getColor(){
    StringRequest stringRequest = new StringRequest(Request.Method.GET, url,
            new Response.Listener<String>() {
                @Override
                public void onResponse(String response) {
                    setContentView(R.layout.activity_main);
                    //do other UI related things...
                }
                ...
            });
}

希望这适合你。