如何为不同的位置设置不同的数据图?

时间:2019-08-23 12:49:47

标签: android android-studio

我想制作一个在不同位置显示不同数据的应用程序。但是我无法找到如何根据我单击的位置为不同的数据集设置图形。这是我的代码(未完成,无法正常工作)。

我的意图是仅制作一个布局(用于显示数据),当我单击某个位置时,假设是华盛顿,然后在一个布局上得到华盛顿的图形。并且它应该与其他位置相同,而不是显示一个数据集。

这是我的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>

0 个答案:

没有答案