Java – How to convert string values to an integer array list – Android

How to convert string values to an integer array list – Android… here is a solution to the problem.

How to convert string values to an integer array list – Android

I want to enter 3 data from 3 EditText fields and it will be displayed as a bar chart.

Here is my part of the code. Give me a solution to these errors:

I tried to get this bar chart using this code. But it doesn’t work. I COMMENTED ON //ERROR POINT

   protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.getfromdb);

final String[] mMonth = new String[] {
            "Jan", "Feb" , "Mar", "Apr", "May", "Jun",
            "Jul", "Aug" , "Sep", "Oct", "Nov", "Dec"
        };

final EditText t1 =(EditText)findViewById(R.id.textView1);
    final EditText t2 =(EditText)findViewById(R.id.textView2);
    final EditText t3 =(EditText)findViewById(R.id.textView3);

Button btnChart = (Button) findViewById(R.id.btnView);  

int x1 = Integer.parseInt(t1.getText().toString());
    int x2 = Integer.parseInt(t2.getText().toString());
    int x3 = Integer.parseInt(t3.getText().toString());

btnChart.setOnClickListener(new OnClickListener() {

@Override
            public void onClick(View v) {
                openChart();

} 
              private void openChart() {

int x1 = Integer.parseInt(t1.getText().toString());
                    int x2 = Integer.parseInt(t2.getText().toString());
                    int x3 = Integer.parseInt(t3.getText().toString());

int[] x = { 0,1,2 };
                int [] income = {x1 ,x2, x3};    ERROR POINT

XYSeries incomeSeries = new XYSeries("Pulse Rate");                 
                XYSeries expenseSeries = new XYSeries("");

for(int i=0; i<x.length; i++){            
                    incomeSeries.add(i,income[i]);

}

XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
                dataset.addSeries(incomeSeries);
                dataset.addSeries(expenseSeries);       

XYSeriesRenderer incomeRenderer = new XYSeriesRenderer();
                incomeRenderer.setColor(Color.rgb(130, 130, 230));
                incomeRenderer.setFillPoints(true);
                incomeRenderer.setLineWidth(2);
                incomeRenderer.setDisplayChartValues(true);

XYSeriesRenderer expenseRenderer = new XYSeriesRenderer();
                expenseRenderer.setColor(Color.rgb(220, 80, 80));
                expenseRenderer.setFillPoints(true);
                expenseRenderer.setLineWidth(2);
                expenseRenderer.setDisplayChartValues(true);        

XYMultipleSeriesRenderer multiRenderer = new XYMultipleSeriesRenderer();
                multiRenderer.setXLabels(0);
                multiRenderer.setChartTitle("Pulse Chart");
                multiRenderer.setXTitle("Pulse rate");
                multiRenderer.setYTitle("Days");
                multiRenderer.setZoomButtonsVisible(true);              
                for(int i=0; i< x.length; i++){
                    multiRenderer.addXTextLabel(i, mMonth[i]);          
                }       

multiRenderer.addSeriesRenderer(incomeRenderer);
                multiRenderer.addSeriesRenderer(expenseRenderer);

Intent intent = ChartFactory.getBarChartIntent(getBaseContext(), dataset, multiRenderer, Type.DEFAULT);

startActivity(intent);

}
        });

}

private void setListAdapter(SimpleCursorAdapter adapter) {
     TODO Auto-generated method stub

}

I COMMENTED //ERROR POINT IN THE SNIPPET.
When I take the value of this as

    int [] income = {60 ,40, 50};             It should Be working

Then it should work. But I want to use the EditText box to place these values.

Solution

Try this line

int x1 = Integer.parseInt(t1.getText().toString());

Related Problems and Solutions