Cómo convertir valores de cadena a lista de matriz de entero – Android

Quiero introducir 3 datos De 3 campos de EditText y querrá mostrar como un Bar-Chart.

Aquí está mi sección de código. Dame una solución para estos errores ..

He intentado obtener este gráfico de barras utilizando este código. Pero no está funcionando. i Comentario El // PUNTO DE ERROR

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 } 

Comentar el // PUNTO DE ERROR en el segmento de código. Cuando doy los valores a este punto como un

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

Entonces debe estar trabajando .. Pero quiero poner estos valores con los cuadros EditText.

intenta esta línea

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

trate de repetir esto

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

Como se menciona en los comentarios, tomar una matriz Integer de ingreso -: Integer [] income = {x1, x2, x3};

Que puede utilizar Arrays.asList (ingresos)

Cambie el método openChart siguiente manera:

 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[] income = {x1 ,x2, x3}; } 

si desea convertir de entero a int, entonces debe escribir código como

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

a continuación, utilice el valor int en algún lugar

 final EditText t1 =(EditText)findViewById(R.id.textView1); final EditText t2 =(EditText)findViewById(R.id.textView2); final EditText t3 =(EditText)findViewById(R.id.textView3); ArrayList<Integer> integersList = new ArrayList<Integer>(); integersList.add(Integer.parseInt(t1.getText().toString())); integersList.add(Integer.parseInt(t2.getText().toString())); integersList.add(Integer.parseInt(t3.getText().toString())); 

Simplemente reemplace este código

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

forma esto

  int x1 = Integer.parseInt(t1.getText().toString()).getIntValue();; int x2 = Integer.parseInt(t2.getText().toString()).getIntValue();; int x3 = Integer.parseInt(t3.getText().toString()).getIntValue();; 
  • Cómo crear mapa de bits de GlSurfaceView
  • ¿Cómo mover las variables estáticas de una clase a otra cuando refactore en IntelliJ o Android Studio?
  • Java Floating Point Precision Issue
  • No se puede cambiar la fuente predeterminada en la aplicación para Android
  • Fuente no encontrada Android?
  • ¿Puedo crear una aplicación web para ser utilizada en teléfonos inteligentes sin Internet? ¿Cómo?
  • Android.support.v7.widget.AppCompatTextView no se puede convertir en android.widget.RelativeLayout
  • Excepción de JsonReader en Android mientras se analizan datos JSON grandes
  • AccountManagerFuture.getResult () da como resultado la pantalla "No se puede iniciar sesión"
  • Prueba de NaN en Java
  • SecurityException en Android al llamar al método reflejado
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.