case R.id.graphs:
GraphicalView mChartView1 = new Niveau().execute(this);
GraphicalView mChartView2 = // another chartView creation
LinearLayout layout = (LinearLayout) findViewById(R.id.graph);
layout.removeAllViews();
layout.addView(mChartView1, new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
layout.addView(mChartView2, new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
break;
這應該工作。一定要對你的mChartView
不同的ID - 如果你創建它們編程,而不是從XML佈局膨脹,則需要編程設置id太:
mChartView1.setId(1);
mChartView2.setId(2);
此外,RelativeLayout
可能會爲您提供更多的定製期限的佈局和定位。然後你需要在你的佈局參數中設置相對位置:
RelativeLayout layout = (RelativeLayout) findViewById(R.id.graph);
....
RelativeLayout.LayoutParams paramsForChart2 = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
paramsForChart2.addRule(RelativeLayout.RIGHT_OF, mChartView1.getId());
layout.addView(mChartView2, paramsForChart2);
你面臨什麼問題?共享錯誤日誌 –
有了這段代碼我沒有面臨任何問題,但如果,例如,我嘗試添加此行以便在一個屏幕上顯示兩個圖形: layout.addView(mChartView,new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams 。包裝內容)); 當我執行它時,該應用會關閉!如何在一個屏幕上顯示多個圖形? – Lucia
您不能添加兩次相同的視圖,您需要兩個具有不同ID的不同實例:請參閱我的答案 – Guillaume