alibaba / Virtualview-Android

A light way to build UI in custom XML.
http://tangram.pingguohe.net/
MIT License
1.46k stars 187 forks source link

建议VafContext的mContext改写成mApplicationContext #50

Closed BillionWang closed 6 years ago

BillionWang commented 6 years ago

在调用资源文件的时候。用context 经常就直接mContext.getContext() 这个context是个application 而我要的真正的是一个activity 虽然有mCurActivity属性 很容易调错。

longerian commented 6 years ago

新增接口:

    final public Context getApplicationContext() {
        return mContext.getApplicationContext();
    }

    final public Context getActivityContext() {
        return mCurActivity;
    }

    final public Context forViewConstruction() {
        return mCurActivity != null ? mCurActivity : mContext;
    }

构造函数

public VafContext(Activity context) {
        this(context.getApplicationContext(), false);
        mCurActivity = context;
    }

内部 view 的构造都兼容使用 Activity 构造。