我正在用这种方式编写自定义gridview:
public class MyGridView extends GridView {
....
public void myMethod() {
if (mDataChanged) { // cannot access this member declared in it's parent class AdapterView
}
}
}
我知道我可以通过反射访问访问包私有成员,但我正在寻找更好的方法。
我尝试将包名更改为android.widget
,但仍然没有运气。
有没有办法可以访问除反射之外的包私有成员?
答案 0 :(得分:3)
最好的策略是不要触及声明为私有的内容,因为这些内容可能会随着Android的下一个版本而发生变化。
您还可以选择复制Android源代码的一部分,但这通常意味着复制大量代码。