在這裏輸了。搜索了很遠,無法找到這個問題的答案...動態添加時不顯示自定義視圖
我有一個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()
我能想到。有任何想法嗎?
感謝您的建議。我實際上在ClockView對象中聲明瞭佈局參數,但是我刪除了這個參數,並且試圖用你的方式來確保。同樣的結果。 –
您可以在Android設備上啓用一些調試選項以查看正在呈現的內容。還有Android工具中的Hierarchy Viewer來檢查它:http://developer.android.com/tools/help/hierarchy-viewer.html –
有趣的...當我點擊Android工具中的Dump Hierarchy Button窗口中,ClockView出現在我的設備上。所以,這個觀點顯然存在,它只是最初沒有在設備上顯示。儘管如此,但至少這證明我並不瘋狂。 –