我正在使用Android上的图表。但我无法在achartengine条形图上创建按钮。问题是当我创建一个按钮时,它成功创建但它出现在第一个Activity(即MainActivity)上。但是,该图表显示在另一个活动GraphicalActivity上。如何将Button添加到GraphicalActivity?
在清单中我打电话
<activity android:name="org.achartengine.GraphicalActivity" />//Another activity to display chart
在main.xml中
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="@string/str_tv_title"
tools:context=".MainActivity" >
<Button
android:id="@+id/btn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_alignParentRight="true"
android:layout_marginLeft="10dp"
android:layout_marginRight="15dp"
android:layout_marginTop="360dp"
android:text="Next" />
</RelativeLayout>
它运行正常,但此按钮显示在第一个活动上,例如主要活动。如何在GraphicalActivity中创建它?
附图显示了主要活动。之后它调用GraphicalActivity。那么如何在GraphicalActivity上添加按钮呢?
答案 0 :(得分:0)
我认为你已经在一个活动上创建了按钮(称为MainActivity),并使用achartLibrary在另一个活动中生成了图表。
在图表生成的地方添加代码段...
这是你的答案siboo
添加LinearLayout以在按钮的相同活动中显示图表
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<Button
android:id="@+id/btn_chart"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/str_btn_chart"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:layout_alignParentLeft="true" />
<LinearLayout
android:id="@+id/chartLayout"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/btn_chart"
android:layout_alignParentRight="true"
android:background="#000"/>
Java部分
在 multiRenderer.addSeriesRenderer(incomeRenderer);
之后添加以下代码if (mChartView == null) {
LinearLayout layout = (LinearLayout) findViewById(R.id.chartLayout);
GraphicalView mChartView = ChartFactory.getBarChartView(getBaseContext(), dataset, multiRenderer, BarChart.Type.DEFAULT);
layout.addView(mChartView, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
}
else {mChartView.repaint();}
并删除
Intent intent = ChartFactory.getBarChartIntent(getBaseContext(),dataset,multiRenderer,Type.DEFAULT);
它会工作......快乐编码