title: How to use chart inside fragment in Android using Achartengine library?
body: <p>I have an activity 3ChartPerTabActivity where i have 3 tabs fragment with Viepager.Each fragment view has just different color.So far is working.</p>
  
  <p>My problem occurs when i try to add a PieChart to first tab fragment layout...
  I want to make a chart per tab.For example first tab a Pie chart e.t.c.</p>
  
  <p>I decided to use <code>Achartengine</code> library.I tried but i get <code>"NullPointerException"</code>.</p>
  
  <p>Here is the tab_frag1_layout.xml:</p>
  
  <pre><code>&lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="fill_parent"
      android:layout_height="match_parent"
      android:background="#FF0000"
      android:orientation="vertical" &gt;
  
          &lt;LinearLayout
              android:id="@+id/chart_container"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"&gt;
          &lt;/LinearLayout&gt;
  
      &lt;/LinearLayout&gt;
  </code></pre>
  
  <p>Here is the Tab1Fragment:</p>
  
  <pre><code>import java.text.DecimalFormat;
  
  import org.achartengine.ChartFactory;
  import org.achartengine.GraphicalView;
  import org.achartengine.model.CategorySeries;
  import org.achartengine.model.SeriesSelection;
  import org.achartengine.renderer.DefaultRenderer;
  import org.achartengine.renderer.SimpleSeriesRenderer;
  
  import android.graphics.Color;
  import android.os.Bundle;
  import android.support.v4.app.Fragment;
  import android.util.Log;
  import android.view.LayoutInflater;
  import android.view.View;
  import android.view.ViewGroup;
  import android.widget.LinearLayout;
  import android.widget.Toast;
  
  public class Tab1Fragment extends Fragment {
  
      private GraphicalView mChartView;
  
      @Override
      public View onCreateView(LayoutInflater inflater, ViewGroup container,
              Bundle savedInstanceState) {
          if (container == null) {
              return null;
          }
  
          // Pie Chart Slice Names
          final String[] status = new String[] { "Normal", "High", "Over" };
  
          // Pie Chart Slice Values
          double[] distribution = { 6, 3, 1 };
  
          // Color of each Pie Chart Slices
          int[] colors = { Color.GREEN, Color.YELLOW, Color.RED };
  
                  // Instantiating CategorySeries to plot Pie Chart
          CategorySeries distributionSeries = new CategorySeries(" General ");
          for (int i = 0; i &lt; distribution.length; i++) {
  
              // Adding a slice with its values and name to the Pie Chart
              distributionSeries.add(status[i], distribution[i]);
          }
  
          // Instantiating a renderer for the Pie Chart
          DefaultRenderer defaultRenderer = new DefaultRenderer();
          for (int i = 0; i &lt; distribution.length; i++) {
              SimpleSeriesRenderer seriesRenderer = new SimpleSeriesRenderer();
              seriesRenderer.setColor(colors[i]);
              seriesRenderer.setDisplayChartValues(true);
  
              // Adding the renderer of a slice to the renderer of the pie chart
              defaultRenderer.addSeriesRenderer(seriesRenderer);
          }
  
          defaultRenderer.setChartTitle("General");
          defaultRenderer.setChartTitleTextSize(20);
          defaultRenderer.setZoomButtonsVisible(true);
  </code></pre>
  
  <p>///////////////////////////Here i have null pointer exception/////////////////////</p>
  
  <pre><code>// Getting a reference to view group linear layout chart_container
  LinearLayout chartContainer = (LinearLayout) getView().findViewById(
          R.id.chart_container);
  </code></pre>
  
  <p>////////////////////////////////////////////////////////////////////////////////////</p>
  
  <pre><code>// Getting PieChartView to add to the custom layout
          mChartView = ChartFactory.getPieChartView(getActivity(),
                  distributionSeries, defaultRenderer);
  
          // Adding the pie chart to the custom layout
          chartContainer.addView(mChartView);
  
          return (LinearLayout) inflater.inflate(R.layout.tab_frag1_layout,
                  container, false);
      }
  }
  </code></pre>
  
  <p>Here is an screenshot :<img src="https://i.stack.imgur.com/ZvY2N.png" alt="enter image description here"></p>