2015-09-08 19 views
0

我試圖增加和減少數量,當我點擊「增加」和「減少」按鈕轉換TextView的數量爲整數

我可以看到數以TextView的改變,但我需要使用的TextView的數量,使圖(我需要整數值)

我TRT使用

String value= display.getText().toString(); 
    int i = Integer.parseInt(value); 

,但它不工作

你們能幫助我如何做到從這個得到整數?

我的代碼是

public class MainActivity2 extends AppCompatActivity { 
int numtest; 
Button add, sub; 
TextView display; 

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

    numtest = 0; 

    add = (Button) findViewById(R.id.button2); 
    sub = (Button) findViewById(R.id.button3); 
    display = (TextView) findViewById(R.id.counter); 

    add.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      numtest = numtest + 1; 
      display.setText(numtest + ""); 
     } 
    }); 

    sub.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      if (numtest < 0){ 
       numtest = 0; 
       display.setText(numtest+ ""); 
      } 
      if (numtest > 0) { 
       numtest = numtest - 1; 
       display.setText(numtest+ ""); 
      } 
     } 
    }); 

    String value= display.getText().toString(); 
    int i = Integer.parseInt(value); 

這是我的全部代碼

public class MainActivity2 extends ActionBarActivity { 
int numtest; 
int numgraph; 
Button smoke_string, subtract_string; 
TextView display; 

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

    numtest = 0; 
    smoke_string = (Button) findViewById(R.id.button2); 
    subtract_string = (Button) findViewById(R.id.button3); 
    display = (TextView) findViewById(R.id.counter); 

    smoke_string.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      numtest = numtest + 1; 
      display.setText(numtest + ""); 
     } 
    }); 

    subtract_string.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      if (numtest > 0) { 
       numtest = numtest - 1; 
       display.setText(numtest + ""); 
      } 
      if (numtest < 0) { 
       numtest = 0; 
       display.setText(numtest + ""); 
      } 
     } 
    }); 



    String value= display.getText().toString(); 
    int i = Integer.parseInt(value); 



    Calendar calendar = Calendar.getInstance(); 
    Date d1 = calendar.getTime(); 
    calendar.add(Calendar.DATE, -1); 
    Date d2 = calendar.getTime(); 
    calendar.add(Calendar.DATE, -1); 
    Date d3 = calendar.getTime(); 

    GraphView graph = (GraphView) findViewById(R.id.graph); 


    LineGraphSeries<DataPoint> series = new LineGraphSeries<DataPoint>(new DataPoint[] { 
      new DataPoint(d1, 3), 
      new DataPoint(d2, 5), 
      new DataPoint(d3, i) 
    }); 
    graph.addSeries(series); 

    graph.getGridLabelRenderer().setLabelFormatter(new DateAsXAxisLabelFormatter(MainActivity2.this)); 
    graph.getGridLabelRenderer().setNumHorizontalLabels(3); // only 4 because of the space 

    graph.getViewport().setMinX(d1.getTime()); 
    graph.getViewport().setMaxX(d3.getTime()); 
    graph.getViewport().setXAxisBoundsManual(true); 

} 

}

回答

0

你爲什麼要這樣這樣的說法,

你能做到這方式,

List<Integer> graph = new ArrayList<Integer>(); 

add.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      numtest = numtest + 1; 
      display.setText(numtest + ""); 
      graph.add(numtest); 
     } 
    }); 

    sub.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      if (numtest < 0){ 
       numtest = 0; 
       display.setText(numtest+ ""); 

      } 
      if (numtest > 0) { 
       numtest = numtest - 1; 
       display.setText(numtest+ ""); 
      } 
      graph.add(numtest); 
     } 
    }); 

通過這種方式,您可以在添加按鈕和子按鈕上獲得每次點擊的數字值。

編輯:

嘗試這樣的事情,

 public class MainActivity2 extends ActionBarActivity { 

     int numtest; 
     int numgraph; 
     Button smoke_string, subtract_string; 
     TextView display; 
     GraphView graph; 

     LineGraphSeries<DataPoint> series = new LineGraphSeries<DataPoint>(); 

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

      numtest = 0; 
      smoke_string = (Button) findViewById(R.id.button2); 
      subtract_string = (Button) findViewById(R.id.button3); 
      display = (TextView) findViewById(R.id.counter); 
      graph = (GraphView) findViewById(R.id.graph); 

      smoke_string.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 
        Calendar calendar = Calendar.getInstance(); 
        Date d = calendar.getTime(); 
        numtest = numtest + 1; 
        display.setText(numtest + ""); 
        series.add(new DataPoint(d,numtest)); 
        redrawGraph(); 
       } 
      }); 

      subtract_string.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 
        Calendar calendar = Calendar.getInstance(); 
        Date d = calendar.getTime(); 
        if (numtest > 0) { 
         numtest = numtest - 1; 
         display.setText(numtest + ""); 
        } 
        if (numtest < 0) { 
         numtest = 0; 
         display.setText(numtest + ""); 
        } 
        series.add(new DataPoint(d,numtest)); 
        redrawGraph(); 
       } 
      }); 

     } 

     private void redrawGraph(){ 
      graph.addSeries(series); 
      graph.getGridLabelRenderer().setLabelFormatter(new DateAsXAxisLabelFormatter(MainActivity2.this)); 
      graph.getGridLabelRenderer().setNumHorizontalLabels(3); // only 4 because of the space 

      Calendar calendar = Calendar.getInstance(); 

      calendar.add(Calendar.DATE, -1); 

      Date d1 = calendar.getTime();// Lower bound, This has to be dynamic 

      calendar.add(Calendar.DATE, 2);// Upper Bound 
      Date d3 = calendar.getTime(); 

      graph.getViewport().setMinX(d1.getTime()); 
      graph.getViewport().setMaxX(d3.getTime()); 
      graph.getViewport().setXAxisBoundsManual(true); 


     } 

    } 
+0

THX的建議;然而,當我嘗試時,它給了我錯誤,因爲我正在使用「圖形」值通過使用graphview庫來創建圖形。所以我改變列表 i = new ArrayList ();和i.add(numtest);當我嘗試在圖中使用「i」作爲整數時,它給了我錯誤消息無法解析構造函數的數據點(java.util.list )'你能告訴我這有什麼問題嗎? – vision

+0

@vision您可以添加代碼來創建圖表嗎?以及與MainActivity2類的關係 –

+0

@vision不要將它們添加到廣告評論中,將它們添加到您的問題中作爲編輯添加到活動中也不僅僅是代碼片段 –