我想制作一个在不同位置显示不同数据的应用程序。但是我无法找到如何根据我单击的位置为不同的数据集设置图形。这是我的代码(未完成,无法正常工作)。
我的意图是仅制作一个布局(用于显示数据),当我单击某个位置时,假设是华盛顿,然后在一个布局上得到华盛顿的图形。并且它应该与其他位置相同,而不是显示一个数据集。
这是我的Java代码,用于显示活动。
package com.example.hotlash;
import androidx.annotation.RequiresApi;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.widget.TextView;
import com.github.mikephil.charting.charts.LineChart;
import com.github.mikephil.charting.data.Entry;
import com.github.mikephil.charting.data.LineData;
import com.github.mikephil.charting.data.LineDataSet;
import com.github.mikephil.charting.interfaces.datasets.ILineDataSet;
import com.github.mikephil.charting.utils.ColorTemplate;
import java.lang.reflect.Array;
import java.util.ArrayList;
public class InfoActivity extends AppCompatActivity {
@RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_info);
Intent intent = getIntent();
//클릭한 지역명을 표시
TextView textView = (TextView) findViewById(R.id.position_name);
String Value = getIntent().getStringExtra("key");
textView.setText(Value);
LineChart lineChart = (LineChart) findViewById(R.id.graph);
lineChart.setOnChartValueSelectedListener();
ArrayList<Entry> Value = new ArrayList<>();
entries.add(new Entry(2000, 0));
entries.add(new Entry(2100, 1));
entries.add(new Entry(2100, 2));
entries.add(new Entry(2100, 3));
entries.add(new Entry(2100, 4));
entries.add(new Entry(2100, 5));
entries.add(new Entry(2100, 6));
entries.add(new Entry(2100, 7));
entries.add(new Entry(2100, 8));
entries.add(new Entry(2100, 9));
entries.add(new Entry(2100, 10));
entries.add(new Entry(2100, 11));
entries.add(new Entry(2100, 12));
entries.add(new Entry(2100, 13));
entries.add(new Entry(2100, 14));
entries.add(new Entry(2100, 15));
entries.add(new Entry(2100, 16));
entries.add(new Entry(2100, 17));
entries.add(new Entry(2100, 18));
entries.add(new Entry(2100, 19));
entries.add(new Entry(2100, 20));
entries.add(new Entry(2100, 21));
entries.add(new Entry(2100, 22));
entries.add(new Entry(2100, 23));
LineDataSet dataSet = new LineDataSet(Value, "# of people");
ArrayList<String> time = new ArrayList<>();
time.add("00:00");
time.add("01:00");
time.add("02:00");
time.add("03:00");
time.add("04:00");
time.add("05:00");
time.add("06:00");
time.add("07:00");
time.add("08:00");
time.add("09:00");
time.add("10:00");
time.add("11:00");
time.add("12:00");
time.add("13:00");
time.add("14:00");
time.add("15:00");
time.add("16:00");
time.add("17:00");
time.add("18:00");
time.add("19:00");
time.add("20:00");
time.add("21:00");
time.add("22:00");
time.add("23:00");
LineData data = new LineData((ILineDataSet) time, dataSet);
dataSet.setColors(ColorTemplate.COLORFUL_COLORS);
lineChart.setData(data);
lineChart.animateY(5000);
}
这是我的xml文件。
<?xml version="1.0" encoding="utf-8"?>
<!--suppress ALL -->
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.hotlash.Info">
<TextView
android:id="@+id/position_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginLeft="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:layout_marginBottom="8dp"
android:textColor="#000000"
android:textSize="9pt"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.194"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.075" />
<com.github.mikephil.charting.charts.LineChart
android:id="@+id/graph"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginLeft="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:layout_marginBottom="8dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.223"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/position_name"
app:layout_constraintVertical_bias="0.05" />
</androidx.constraintlayout.widget.ConstraintLayout>