0
onCreateViewのグラフとレイアウトを含むレイアウトをフラグメント内に戻そうとしています。 2つのビューをどのように組み合わせて1つにするかわかりません。次のコード活動でAndroidフラグメントのachartengineを使用してグラフを使用してレイアウトを返す方法
public class ChartFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// LineGraph - class which draws the graph using achartengine
final LineGraph lineGraph = new LineGraph();
final GraphicalView chart = lineGraph.getGraphicalView(inflater.getContext());
final View view = inflater.inflate(R.layout.chart, container, false);
Button drawChartButton = (Button) view.findViewById(R.id.button_draw_chart);
drawChartButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// update chart for new data
}
});
return chart; //return the chart only
// return view; // return layout but without the chart
}
}
:
Button chartButton = (Button) findViewById(R.id.button_draw_chart);
chartButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
LinearLayout layout = (LinearLayout) findViewById(R.id.chart);
LineGraph lineGrpah = new LineGraph();
GraphicalView testChart = lineGrpah
.getGraphicalView(SimpleApp.this);
layout.addView(testChart, new LayoutParams(
LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
}
});
とxml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/chart"
android:layout_width="600dp"
android:layout_height="350dp"
android:layout_margin="15dp" >
</LinearLayout>
<Button
android:id="@+id/button_draw_chart"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_draw_chart" />
</LinearLayout>
が正常に動作しますが、私は知らない私は、チャートのない唯一のチャートやレイアウトを返すことができますフラグメントでこれを行う方法。
view.addView(chart, new LayoutParams(
LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
}
});
をしてからview
を返す:onCreateView()
で
上記のアイデアは良いですが、 'view.add()'ではなく 'layout.add()'にする必要があります。 – rgb
ええ、申し訳ありません;) – Venator85
あなたの答えは非常にありがとう:) – rgb