MPAndroidChart PieChart - установить данные из простого текстового ввода

Я делаю приложение, в которое я могу вводить имя и деньги и вычислять их вместе. Пример я ввожу как это в обычный текст

User 1 = $520    
User 2 = $241 
User 3 = $253
User 4 = $704

Total = $1718

и вот идентификатор, который я объявил для своих простых текстов

name1 = (EditText) findViewById(R.id.editName1);
name2 = (EditText) findViewById(R.id.editName2);
name3 = (EditText) findViewById(R.id.editName3);
name4 = (EditText) findViewById(R.id.editName4);

money1 = (EditText) findViewById(R.id.editMoney1);
money2 = (EditText) findViewById(R.id.editMoney2);
money3 = (EditText) findViewById(R.id.editMoney3);
money4 = (EditText) findViewById(R.id.editMoney4);

но как я могу установить данные из обычного текста в PieGraph?


person Community    schedule 01.06.2015    source источник


Ответы (1)


  • Преобразование текста в числа (целые числа, числа с плавающей запятой,...)
  • Добавьте их так:

    float number1 = ...; // parse your EditText input here
    // other numbers ...
    
    ArrayList<Entry> vals = new ArrayList<Entry>();
    vals.add(new Entry(number1, 0));
    vals.add(new Entry(number2, 1));
    vals.add(new Entry(number3, 2));
    vals.add(new Entry(number4, 3));
    
    String[] xVals = new String[] { "User1", "User2", "User3", "User4" };
    
    PieDataSet dataSet = new PieDataSet(vals, "User Values");
    PieData data = new PieData(xVals, dataSet);
    
    pieChart.setData(data);
    // refresh
    pieChart.invalidate();
    

Кроме того, в примере проекта показаны многочисленные варианты добавления данных в диаграммы, вы можете проверить это.

Кроме того, документация довольно хороша, а также содержит примеры и инструкции по добавлению данных.

person Philipp Jahoda    schedule 01.06.2015
comment
спасибо, но предоставленный вами код дает мне ошибку "Entry (float, int) in Entry cannot be applied to (android.widget.EditText, int). я не смог найти пример добавления данных из обычного текста. - person ; 02.06.2015
comment
Конечно, вы не можете установить EditText в качестве записи. Вам нужно преобразовать значение, которое находится внутри EditText, в число с плавающей запятой и установить его в запись, как показано в приведенном выше примере. - person Philipp Jahoda; 02.06.2015
comment
я поместил запись EditText в setOnClickListener, но проблема в том, что он не может прочитать код внутри методов setOnClickListener -> onClick, и он говорит cannot resolve symbol.... вот мой источник pastebin.com/zEdEH1dA - person ; 04.06.2015