如何在achartEngine条形图活动中创建按钮

时间:2015-10-30 05:37:28

标签: android android-layout bar-chart achartengine

我正在使用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上添加按钮呢?enter image description here

1 个答案:

答案 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);

它会工作......快乐编码