在这里不知所措。搜索范围广泛,无法找到这个问题的答案......
我有一个XML布局,我有一个相对布局,我用它作为不同视图的占位符。
<RelativeLayout
android:id="@+id/relVariableLayoutPlaceHolder"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="@color/white"
>
</RelativeLayout>
在我的活动中,我有一个按钮供用户按下,当他们按下它时,我希望创建并动态添加自定义ClockView
。请注意_variableLayout
方法在onCreate
方法中完美设置:
public void onStartTimeClick(View view)
{
//Clean up any left over views
_variableLayout.removeAllViews();
//Add clock view
ClockView clockView = new ClockView(_context);
_variableLayout.addView(clockView);
}
问题是当按下按钮时,屏幕上没有任何反应。但是,当我点击屏幕上的TextView
时,我可以看到它。
我在点击TextView
之前和之后上传了一些图片:
http://imgur.com/a/9lebv
我认为这与绘制时钟视图后屏幕没有刷新有关但我已经尝试了invalidate()
和requestLayout()
的每一个组合。有什么想法吗?
答案 0 :(得分:2)
出于历史目的,我觉得我应该提一下,在经过大量调试后,我发现我的问题出现在onMeasure
的{{1}}和onLayout
函数中。基本上它们形成得很差,并且没有正确地测量子视图以使ClockView
函数正确处理。
一旦我解决了这些问题,一切都按预期进行。