我想要在Android Studio
的圖形視圖中的數據點上添加水龍頭偵聽器。如何在數據點上添加tap監聽器?
有一個在我的Java代碼中的問題,說:在代碼的最後一行無法解決方法get Activity()
。
幫我解決我的問題。
這裏是我的代碼:
package com.example.graph;
import android.content.Context;
import android.graphics.Color;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Toast;
import android.app.Activity;
import com.jjoe64.graphview.GraphView;
import com.jjoe64.graphview.series.DataPoint;
import com.jjoe64.graphview.series.DataPointInterface;
import com.jjoe64.graphview.series.LineGraphSeries;
import com.jjoe64.graphview.series.OnDataPointTapListener;
import com.jjoe64.graphview.series.PointsGraphSeries;
import com.jjoe64.graphview.series.Series;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
GraphView graph = (GraphView) findViewById(R.id.graph);
LineGraphSeries<DataPoint> series = new LineGraphSeries<>(new DataPoint[] {
new DataPoint(0, -2),
new DataPoint(1, 5),
new DataPoint(2, 3),
new DataPoint(3, 2),
new DataPoint(4, 6)
});
graph.addSeries(series);
graph.setBackgroundColor(getResources().getColor(R.color.background_color));
series.setThickness(5);
graph.getViewport().setScalable(true);
graph.getViewport().setScrollable(true);
PointsGraphSeries<DataPoint> series2 = new PointsGraphSeries<>(new DataPoint[] {
new DataPoint(0, -2),
new DataPoint(1, 5),
new DataPoint(2, 3),
new DataPoint(3, 2),
new DataPoint(4, 6)
});
graph.addSeries(series2);
series2.setColor(Color.RED);
series2.setSize(10);
series2.setOnDataPointTapListener(new OnDataPointTapListener() {
@Override
public void onTap(Series series2, DataPointInterface dataPoint) {
Toast.makeText(getActivity(), "Series1: On Data Point clicked: "+dataPoint, Toast.LENGTH_SHORT).show();
}
});
}
}
使用getApplicationContext(),而不是getActivity – siddhesh