单击另一个片段中的按钮,在一个片段中使用AChartEngine绘制动态图表?

时间:2013-03-07 12:48:32

标签: android android-fragments achartengine

我正在开发一个Android应用程序,它可以记录来自麦克风的数据并进行实时音高检测,并将音高值绘制成图形。到目前为止,我已经完成了实时的音高检测。现在我想将值动态绘制为图形。所以我的应用程序的屏幕应该有2个片段。一个有Record和Stop按钮,我想在另一个片段中显示我的图形。我已经知道如何使用AChartEngine实时绘制一个灰度。我也理解使用片段的基础知识。所以我的问题是,如何将所有这些连接在一起?即,我想运行我的Pitch检测活动,并在点击Record按钮时动态显示图形,并在我点击Stop按钮时停止整个事情。是否有任何示例代码显示在单个片段中单击按钮时在另一个片段上绘制图形? 谢谢!

2 个答案:

答案 0 :(得分:0)

这只是我的想法。您可以做的是,设置两个片段,创建几个方法,用于显示和向片段提供数据(如果fragment.setArgs()不足以满足您的需求)

想象一下,你有SecondFragment之类的方法,当你点击Stop时调用它,你从后面的堆栈中带来第二个片段:

public void showRecordedData(SomeDataModel data){
     this.mFragmentData = data;
     ///show the  data on the chart view of the second fragment
}

确保SecondFragment不为空且可见。

希望这是有道理的。

答案 1 :(得分:0)

使用ScrollView赞:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/ScrollViewChartContainer" android:layout_width="fill_parent" android:layout_height="fill_parent">
    <LinearLayout android:id="@+id/main" android:layout_width="fill_parent" android:layout_height="match_parent">
       <LinearLayout android:id="@+id/chart1" android:layout_width="fill_parent" android:layout_height="match_parent" android:background="@android:color/transparent" android:orientation="horizontal" /> 
       <LinearLayout android:id="@+id/chart2" android:layout_width="fill_parent" android:layout_height="match_parent" android:background="@android:color/transparent" android:orientation="horizontal" /> 
    </LinearLayout>
</ScrollView>

我没有测试过这样的布局,但它应该可以工作。