Android-Achartengine XyListener

Android-Achartengine XyListener,android,achartengine,Android,Achartengine,我在让onclicklistener使用android的achartengine1.0.0时遇到了一个问题。具体来说,我无法从“.getCurrentSeriesAndPoint”(始终为空)返回任何内容 所以我有一个类,它创建了我的图表视图,如下所示 public class xyScatter extends Application { public GraphicalView getGView(Context context) { ...(STUFF)...

我在让onclicklistener使用android的achartengine1.0.0时遇到了一个问题。具体来说,我无法从“.getCurrentSeriesAndPoint”(始终为空)返回任何内容

所以我有一个类,它创建了我的图表视图,如下所示

public class xyScatter extends Application {
    public GraphicalView getGView(Context context) {

         ...(STUFF)...

          mRenderer.setClickEnabled(true);
          mRenderer.setSelectableBuffer(100);

         ...(STUFF)...

          return ChartFactory.getScatterChartView(context, dataset, mRenderer);
    }
}
在我的活动中,我有以下方法

private void displayXY() {

   xyScatter xyScat = new xyScatter();
   final GraphicalView gView = xyScat.getGView(this);
   glayout.removeAllViews();
   glayout.addView(gView);

   gView.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            SeriesSelection seriesSelection = gView.getCurrentSeriesAndPoint();

            Log.d("seriesSelection", String.valueOf(seriesSelection));

            if (seriesSelection == null) {
                Log.d("OnClickXY", "Nothing Selected");
            } else {
                Log.d("OnClickXY", "Something Selected");
            }
        }
    });

}
这与我将图表添加为线性布局中的图形视图有关吗


我试着搜索了几个网站,但没有结果

如果有人有兴趣查看更多这样做的示例,我建议查看AChartEngine的官方演示代码,尤其是与您的问题相关的示例。

编辑:好,我发现了问题所在。所以我在图表中有多个系列,有时这些系列是空白的。由于某些原因,当它们为空时,整个图表将不允许您选择点。如果有人有解决办法,我愿意接受建议。我想我只需要添加一个检查,看看是否应该将该系列添加到多重渲染器中。我不确定我是否应该删除这篇文章,但我会暂时保留它,以防其他人碰到这篇文章。
private void displayXY() {

   xyScatter xyScat = new xyScatter();
   final GraphicalView gView = xyScat.getGView(this);
   glayout.removeAllViews();
   glayout.addView(gView);

   gView.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            SeriesSelection seriesSelection = gView.getCurrentSeriesAndPoint();

            Log.d("seriesSelection", String.valueOf(seriesSelection));

            if (seriesSelection == null) {
                Log.d("OnClickXY", "Nothing Selected");
            } else {
                Log.d("OnClickXY", "Something Selected");
            }
        }
    });

}