public class View1 extends ViewGroup {
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
//如何在这里获取来源是requestLayout1还是requestLayout2
.....
}
public void requestLayout1() {
super.requestLayout();//会异步调用onMeasure
}
private void requestLayout2() {
super.requestLayout();//会异步调用onMeasure
}
}
同时多次执行requestLayout1 requestLayout2时能在onMeasure获取到时那个来源
全局变量行不通,StackTraceElement里好像也获取不到。
有没有更好的方法能实现?
这个比较难搞啊。
你可以试试用list
requestLayout1(){
list.add("requestLayout1");
}
requestLayout2(){
list.add("requestLayout2");
}
onMeasure(){
String tag = list.remove(0);
}