我正在使用这个库,它的一个类(从ViewGroup扩展),在"PLA_AbsListView.java"中,在CTOR中,有这些行:
final TypedArray a = context.obtainStyledAttributes(R.styleable.View);
initializeScrollbars(a);
a.recycle();
Run Code Online (Sandbox Code Playgroud)
最近,我更新了Android的SDK和ADT,以支持新的Android版本(Lollipop - API21).
自从我更新了所有内容后,我不断收到此错误:
对于PLA_AbsListView类型,未定义方法initializeScrollbars(TypedArray)
我试图将API设置为低于21,但它没有帮助.
我也试图找出声明这个函数的位置.它应该是"View.java"中受保护的函数,但由于某种原因,我在文档中看不到它
怎么会这样?
我该如何解决?
这可能是文档中的错误吗?
以前,当针对Kitkat时它起作用了......
我已经实现了一个扩展RelativeLayout的自定义布局.它显示了许多在运行时创建的不同元素,并且可以使用scrollTo()和scrollBy()在两个维度中滚动.滚动有效,现在我想添加标准的Android滚动条.
使用Scrollviews是不可能的,因为我需要在2维中滚动布局,所以我尝试按照此处的描述进行操作:Android:在基于画布的视图上启用滚动条
我已经使用一些(虚假)值实现了所有的compute*方法并启用了滚动条.但我仍然无法让他们出现.任何想法可能是什么问题?
在各种邮件列表和SO上有很多这样的问题,但到处答案似乎是"1.调用setHorizontalScrollbarEnabled(true),2.实现所有的计算*方法,3.调用awakenScrollbars()".据我所知,我已经完成了所有这些,甚至尝试使用initializeScrollbars()但没有任何反应,文档也没有提供任何帮助.
public NodeLayout(Context context) {
super(context);
setVerticalScrollBarEnabled(true);
setHorizontalScrollBarEnabled(true);
TypedArray a = context.obtainStyledAttributes(R.styleable.View);
initializeScrollbars(a);
a.recycle();
}
@Override
protected int computeHorizontalScrollExtent() {
return 5;
}
@Override
protected int computeHorizontalScrollOffset() {
return 10;
}
@Override
protected int computeHorizontalScrollRange() {
return 50;
}
@Override
protected int computeVerticalScrollExtent() {
return getHeight() / 2;
}
@Override
protected int computeVerticalScrollOffset() {
return getHeight() / 2;
}
@Override
protected int computeVerticalScrollRange() {
return getHeight();
}
@Override
public boolean onTouchEvent(MotionEvent event) {
awakenScrollBars();
invalidate();
return …Run Code Online (Sandbox Code Playgroud)