8

I'm trying to create an achartengine chart within a scrollview but it won't display! It just shows a black screen, but doesn't crash or anything. The thing is if I just change my tag to the chart displays just fine. And in my Java code I do have renderer.setInScroll(true); for the charts renderer. Is this an issue with my xml?

Here is my xml:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

    <LinearLayout
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:orientation="vertical" >

        <LinearLayout
        android:id="@+id/trendchart"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" />
    </LinearLayout>

</ScrollView>

(Currently the only thing in the ScrollView is the chart I plan to add more elements to make scrolling necessary, I just want it to display first)

Also I have tried to display it both with and without the wrapping linearlayout and it is the same result.

Community
  • 1
  • 1
VinC
  • 447
  • 1
  • 7
  • 17

4 Answers4

10

Under the scrollview you have to insert

android:fillViewport="true"
VinC
  • 447
  • 1
  • 7
  • 17
6

You will also have to do the following call, otherwise there will be display issues:

renderer.setInScroll(true);
Dan D.
  • 32,246
  • 5
  • 63
  • 79
2

Other solution is to give a size for your LinearLayout @+id/trendchart:

for example:

<LinearLayout
        android:id="@+id/trendchart"
        android:layout_width="fill_parent"
        android:layout_height="180dp"
        android:orientation="vertical" />
    </LinearLayout>

works fine for me.

1

I've tried the accepted answers but none of them work for me. I solved my problem by adding

chartView.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, 500));

But don't use
chartView.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
because for some reason it still not displaying the chart. Hope that will help someone

Radoslav
  • 1,446
  • 1
  • 16
  • 30