如何用列表视图中的数据作图?

问题描述

我从android studio开始,但是在实现我的项目时遇到了一些困难,看看是否有人可以帮助我。事实证明,到目前为止,我已经拥有一个数据库,其中保存了数据,并且可以随时通过listView看到它,如这段代码所示:

public void Resultats() {
    AdminsqliteOpenHelper admin = new AdminsqliteOpenHelper(this,"administracio",null,1);
    sqliteDatabase BaseDeDades = admin.getWritableDatabase();
    if (BaseDeDades != null) {
        Cursor c = BaseDeDades.rawQuery("select * from resultats where codijugador = "+codi+" and codiexercici = '"+exercici+"'",null);
        int quantitat = c.getCount();
        int i = 0;
        String[] array = new String[quantitat];
        if (c.movetoFirst()) {
            do {

                String linia = "Hora/data: "+c.getString(5)+ " Puntuació: " +c.getString(3)+ " Temps: " + c.getString(4);

                array[i] = linia;
                i++;

            } while (c.movetoNext());
        }
        ArrayAdapter<String>adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,array);
        final ListView llista = (ListView) findViewById(R.id.llista);
        llista.setAdapter(adapter);
    }
}

如您所见,在此功能中,我过滤了数据并将其显示在列表视图中。

好吧,我要做的不是代替在列表视图中显示该数据,而是将其传递给具有MPAndroidChart库的折线图,该库在X轴上找到变量“时间/数据”,而Y有2个变量(分成两行)一个用于标点符号,另一个用于时间。

到目前为止,我设法制作了一张图,但要手动输入数据。

public class MainActivity extends AppCompatActivity {


LineChart mpLineChart;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


    mpLineChart=(LineChart)findViewById(R.id.line_chart);

    LineDataSet lineDataSet1 = new LineDataSet(dataValues1(),"Data Set 1");
    ArrayList<ILineDataSet> dataSets = new ArrayList<>();
    dataSets.add(lineDataSet1);

    LineData data = new LineData(dataSets);
    mpLineChart.setData(data);
    mpLineChart.invalidate();

}

private ArrayList<Entry>dataValues1()
{
    ArrayList<Entry>dataVals = new ArrayList<Entry>();
    dataVals.add(new Entry(0,20));
    dataVals.add(new Entry(1,24));
    dataVals.add(new Entry(2,2));
    dataVals.add(new Entry(3,10));
    dataVals.add(new Entry(4,18));

    return dataVals;
}

}

但是我不知道如何将两者结合起来。也就是说,考虑到数据的大小会随着数据添加数据库中而增加,因此如何将数据从列表视图输入到图形中,因此图形必须始终自动收集所有数据。

如果有人知道我该怎么做,我将不胜感激。谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)