問題はかなり明確です: X/Y に関する情報はアクティビティに表示されますが、フラグメントには表示されません...
アクティビティでは、グラフが描画され、X と Y に関する情報とグラフのタイトルが表示されます。
フラグメントでは、グラフのみが表示され、X 軸と Y 軸に関する情報もタイトルもありません...
アクティビティ:
public class Chart extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.chart);
//UNDER CONSTRUCTION
GraphViewSeries exampleSeries = new GraphViewSeries(new GraphViewData[] {
new GraphViewData(1, 2.0d)
, new GraphViewData(2, 1.5d)
, new GraphViewData(3, 2.5d)
, new GraphViewData(4, 1.0d)
});
GraphView graphView = new BarGraphView(
this // context
, "GraphViewDemo" // heading
);
graphView.addSeries(exampleSeries); // data
graphView.setBackgroundColor(Color.BLACK);
LinearLayout layout = (LinearLayout) findViewById(R.id.chart);
layout.addView(graphView);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
断片:
public class ChartFragment extends Fragment {
GraphView graphView;
LinearLayout layout;
// Parameterless constructor is needed by framework
public ChartFragment() {
super();
}
/**
* Sets up the UI. It consists if a single WebView.
*/
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
layout = new LinearLayout(getActivity());
return layout;
}
public void displayChart(int mCatIndex, int mPeriodIndex) {
int num = 150;
GraphViewData[] data = new GraphViewData[num];
double v=0;
for (int i=0; i<num; i++) {
v += 0.2;
data[i] = new GraphViewData(i, Math.sin(v));
}
graphView = new LineGraphView(
null
, "GraphViewDemo"
);
// add data
graphView.addSeries(new GraphViewSeries(data));
// set view port, start=2, size=40
graphView.setViewPort(2, 40);
graphView.setScrollable(true);
// optional - activate scaling / zooming
graphView.setScalable(true);
layout.addView(graphView);
}
}
何が問題になる可能性がありますか?
編集と解決策:
ばかげた間違い: X と Y のラベルは両方とも白い色です... 最初のレイアウトでは、私の背景は黒でした ==> OK
私のフラグメントでは、背景は白でした ==> X と Y のラベルが見えません