2012-02-10 84 views
0

我是一名初学者,正在做一些列表和图表。 我使用了与achartengine样本相同的代码。 我的发射活动,这是从TabActivity获得有其创建方法如下,标签视图中的Achartengine图表

setContentView(R.layout.tabstrip); 
Resources res = getResources(); // Resource object to get Drawables 
TabHost tabHost = getTabHost(); // The activity TabHost 
TabHost.TabSpec spec; // Resusable TabSpec for each tab 
Intent intent; // Reusable Intent for each tab 
SalesBarChart myChart = new SalesBarChart(); 
intent = myChart.execute(this); 
spec = tabHost.newTabSpec("BarChart").setIndicator("BarChart", 
        res.getDrawable(R.drawable.ic_tab_barchart)) 
       .setContent(intent); 
tabHost.addTab(spec); 
AverageTemperatureChart myChart1 = new AverageTemperatureChart(); 
intent = myChart1.execute(this); 
spec = tabHost.newTabSpec("albums").setIndicator("Albums", 
        res.getDrawable(R.drawable.ic_tab_linechart)) 
       .setContent(intent); 
tabHost.addTab(spec); 
tabHost.setCurrentTab(1); 

我的XML文件看起来像,

 <TabHost 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:orientation="vertical" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 
     <LinearLayout 
      android:orientation="vertical" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:padding="5dp"> 
      <TabWidget 
       android:id="@android:id/tabs" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" /> 
      <FrameLayout 
       android:id="@android:id/tabcontent" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:padding="5dp" /> 
     </LinearLayout> 

同样的意图我朝四周startactivity(意向)按钮点击工程,但不能在标签中工作。 请帮忙。提前致谢。

回答

1

两周前我有同样的问题。但我在xml层结合了其他视图的pieChart。 无论如何,我为每个选项卡和图表创建一个活动,并调用活动而不是图表。 在我的活动之一,我有这样的文档片断代码:

public class FirstChartActivity extends Activity{ 
    // other code 
    protected void onResume() { 
      super.onResume(); 
      if (hChartView == null) { // first time pie chart is empty 
       renderer = buildCategoryRenderer(colors); 
       renderer.setLabelsTextSize(14); 
       categorySeries = setCategorySeries("First PieChart", 
         myList); 
       // draw pie chart with initialized values (myList and colors) 
       hChartView = ChartFactory.getPieChartView(this, categorySeries, 
       renderer); 
       LinearLayout layout = (LinearLayout) findViewById(R.id.pch_chart); 
       layout.addView(hChartView, new LayoutParams(LayoutParams.FILL_PARENT, 
       LayoutParams.FILL_PARENT)); 
      } else { 
       hChartView.repaint(); 
      } 
     } 

     protected DefaultRenderer buildCategoryRenderer(int[] colors) { 
      DefaultRenderer renderer = new DefaultRenderer(); 
      for (int color : colors) { 
       SimpleSeriesRenderer r = new SimpleSeriesRenderer(); 
       r.setColor(color); 
       renderer.addSeriesRenderer(r); 
      } 
      return renderer; 
     } 

     protected CategorySeries setCategorySeries(String chartTitle, 
       HashMap<String, Double> hashMap) { 
      CategorySeries cs = new CategorySeries(chartTitle); 
      Iterator<String> iter = hashMap.keySet().iterator(); 
      while (iter.hasNext()) { 
       String key = iter.next(); 
       Double val = hashMap.get(key); 
       cs.add(key, val); 
      } 
      return cs; 
     } 
    } 

我希望这个代码可以帮助您。