2017-04-04 44 views
-5

我有與Srno,項目名稱,數量和價格的listview。我想添加價格,並顯示其在下面的文本視圖中的總覽listview.I已經嘗試過,但它顯示我0在我的textview.When我點擊TextView的它給我的Toast.I總價已經使用的setText但總價在Textview.Following不顯示是我的代碼 -爲了得到總價

Trial.java

public class Trial extends Activity { 
    ListView listnew; 

    ArrayList<Integer> sr1; 
    ArrayList<String> item1; 
    ArrayList<Integer> data; 
    ArrayList<Integer> price; 

    TextView textViewTotalAmt,textViewamount; 



    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.trial); 
     data = new ArrayList<>(); 
     price = new ArrayList<>(); 


     listnew = (ListView) findViewById(R.id.newlist); 
     textViewTotalAmt=(TextView)findViewById(R.id.total); 

     textViewamount=(TextView)findViewById(R.id.amountdisplay); 
     textViewamount.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       Toast.makeText(Trial.this," "+getTotal(price),Toast.LENGTH_SHORT).show(); 
      } 
     }); 
     textViewamount.setText(" "+getTotal(price)); 



     Bundle bundle = getIntent().getExtras(); 

     sr1 = bundle.getIntegerArrayList("sr"); 
     item1 = bundle.getStringArrayList("item"); 
     data = bundle.getIntegerArrayList("qty"); 
     price = bundle.getIntegerArrayList("price"); 

     ArrayList<Integer> qty = new ArrayList<>(); 
     ArrayList<String> name = new ArrayList<>(); 
     ArrayList<Integer> srn = new ArrayList<>(); 
     ArrayList<Integer> ps = new ArrayList<>(); 
     for(int i=0;i<data.size();i++){ 
      if(data.get(i)>0){ 
       qty.add(data.get(i)); 
       name.add(item1.get(i)); 
       srn.add(sr1.get(i)); 
       ps.add(price.get(i)); 
      } 
     } 



     sr1.clear(); 
     sr1.addAll(srn); 
     item1.clear(); 
     item1.addAll(name); 
     data.clear(); 
     data.addAll(qty); 
     price.clear(); 
     price.addAll(ps); 



     Custom_Trial ct = new Custom_Trial(this,sr1, item1, data, price); 
     listnew.setAdapter(ct); 
     getTotal(price); 

    } 




    public int getTotal(ArrayList<Integer> price){ 

     int total=0; 
     for(int i=0;i<price.size();i++){ 
      total= total+Integer.parseInt(String.valueOf(price.get(i))); 
     } 
     return total; 

    } 

} 
+0

textViewamount.setText(「」+ getTotal(price));在將任何項目添加到價目表之前調用此方法。設置textViewamount文本後添加價格元素列表, – user7676575

+0

move textViewamount.setText(「」+ getTotal(price));從捆綁價格獲得價格後的行= bundle.getIntegerArrayList(「price」); –

回答

0

我想你應該移到這行代碼

textViewamount.setText(" "+getTotal(price)); 

到的onCreate梅索德

Custom_Trial ct = new Custom_Trial(this,sr1, item1, data, price); 
    listnew.setAdapter(ct); 
    getTotal(price); 
    textViewamount.setText(" "+getTotal(price)); 
+0

這很好。謝謝你的幫助。 –

+0

歡迎您隨時(: –

0

你的麪包作品的結束,因爲當你所有的項目都已經膨脹onClick發生。

但是,您嘗試在onCreate()中將值設置爲您的電視。當您撥打setText()時,您的ArrayListNULL,因爲您只是實例化它。在onCreate()末尾移動setText(),或者在處理並將值插入到ArrayList後。

或者如果您想要在有人點擊電視後才顯示總價,請將setText()粘貼到onClick之內,其中當前顯示Toast