0

我正在以这种方式编写自定义网格视图:

public class MyGridView extends GridView {
....
    public void myMethod() {
        if (mDataChanged) { // cannot access this member declared in it's parent class AdapterView
        }
    }
}

我知道我可以通过反射访问访问包私有成员,但我正在寻找更好的方法。

我试图将包名称更改为android.widget,仍然没有运气。

除了反射之外,有没有其他方法可以访问该包私有成员?

4

1 回答 1

3

最好的策略是不要触摸声明为私有的东西,因为这些东西可能会随着 Android 的下一个版本而改变。

您还可以选择复制一部分 Android 源代码,但这通常意味着复制大量代码。

于 2013-09-11T05:41:00.783 回答