android子活动绘制图表

时间:2015-06-24 12:54:43

标签: android achartengine

我是Android开发的新手,面临活动和子活动的问题。 我的应用程序中有一个水平滚动视图,其中我显示6个图像,每个图像有6个功能。 当我点击每个图像时,我调用带有意图的子活动,并使用显示在滚动视图图像上方的布局中的achartengine库绘制图表。 现在我的问题是当我点击第二张图片时没有任何反应。 我想知道如何在绘制图表后返回主要活动,并能够收听其他图像的点击事件。

这是我的代码。

MainActivity class
 mImage = (ImageView)findViewById(R.id.imageviewapp1);
  mImage.setOnClickListener(new View.OnClickListener() {
      public void onClick(View v) {
         Intent intent;

          intent =  new Intent(AppSuite.this, DrawBarChart.class);
          intent.putExtra("AppName","app1");
          startActivity(intent);
      }
  });
  mImage = (ImageView)findViewById(R.id.imageviewApp2);
  mImage.setOnClickListener(new View.OnClickListener() {
      public void onClick(View v) {

         intent =  new Intent(AppSuite.this, DrawLineChart.class);
          intent.putExtra("AppName","app2");
          startActivity(intent);

      }
  });
  mImage = (ImageView)findViewById(R.id.imageviewapp3);
  mImage.setOnClickListener(new View.OnClickListener() {
      public void onClick(View v) {
         intent =  new Intent(AppSuite.this, DrawCombinedChart.class);
          intent.putExtra("AppName","app3");
          startActivity(intent);
      }
  });



The chart is drawn when i click on first image but if i click on 2nd image the control doesn't go back to main activity where i have on click listensers for other images.


     sub activity class

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.landing);

    final LinearLayout layout = (LinearLayout) findViewById(R.id.chart);
    layout.removeAllViewsInLayout();

    GraphicalView chartView  = ChartFactory.getBarChartView(DrawBarChart.this, dataset, mRenderer, BarChart.Type.DEFAULT);

    layout.addView(chartView, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT,
            ViewGroup.LayoutParams.FILL_PARENT));

请参阅附图。

enter image description here

1 个答案:

答案 0 :(得分:0)

您的第二个按钮位于后台活动中。这就是您无法与之互动的原因。如果按后退按钮,它将关闭第二个活动并返回第一个活动。

但你应该使用片段。在您的主要活动中,您可以使用所有按钮进行布局,并使用图表进行拆分。当用户按下按钮时,您将能够将数据传递到图表