簡単なチャートを作成し、次のように onTouchListener を追加しました。
@Override
public boolean onTouch(View arg0, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
if (mGraphPopup.isShowing()) {
//close popup window
} else {
SeriesSelection seriesSelection = mChartView.getCurrentSeriesAndPoint();
if (seriesSelection != null) {
// open popupwindow
}
}
return false;
}
そして、私は次のように実行することを期待していました:
1) チャートポイントをタップ - ポップアップを表示
2) どこでももう一度タップ - ポップアップを閉じる
しかし、実際に何が起こっているのですか:
1*) チャート ポイントをタップ: 何も起こらない - seriesSelection が null であるため
2*) 任意のチャート ポイントから離れた場所でもう一度タップします - seriesSelection は有効で、ステップ 1*) でクリックされたポイントのデータを読み込みます
ワンタッチイベントでチャートが遅れているようです。
getCurrentSeriesAndPoint() を 2 回呼び出そうとしましたが、結果はありませんでした。