2013-06-18 77 views
-1

我想在循環中填充「String [] collect」數組中的「String row」變量,我不知道如何正確執行該操作!當數組被填充時,我想用一個帶有textview的字符串來顯示它。如何用循環中的字符串填充字符串數組並顯示?

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    List<double[]> lokal = readCsv(getApplicationContext()); 

    for (double[] sor : lokal) { 

     for (int i = 0; i < sor.length; i++) { 
      mean(sor); 
      String row = Double.toString(mean(sor)); 
      String[] collect = new String[] { row }; 
     } 
    } 

    getActionBar().setDisplayHomeAsUpEnabled(true); 

    TextView textView = new TextView(this); 
    textView.setTextSize(30); 
    textView.setText(collect); 

    setContentView(textView); 
} 

回答

3

你是通過你的loop創建一個新的String Array各一次。使用一個ArrayList,因爲他們可以有一個動態的大小和嘗試像

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    List<double[]> lokal = readCsv(getApplicationContext()); 

    ArrayList<String> array = new ArrayList<String>(); // initialize ArrayList here, may want to declare as class variable 

    for (double[]sor : lokal) { 
    for(int i=0; i<sor.length; i++) { 
     mean(sor); 
     String row = Double.toString(mean(sor)); 
     array.add(row); // add your String to it here  

ArrayList Docs

把所有的String第在一起,只是在它們之間迭代。像

String result = "" 
for (int c=0; c<array.size(); c++) 
{ 
    String curString = array.get(c); 
    result.concat(curString); 
} 
textview.setText(result); 

的東西,如果不工作,你可以使用

result = result + curString; 

爲「+」是String小號

+0

我得到了它的連接符,這將收集一個字符串數組列表。但收集後,如何將ArrayList轉換爲一個字符串,用textView顯示它們? –

+0

我編輯過。我沒有嘗試過,但類似的東西應該工作。你可能需要在'concat()'中添加格式,取決於你想要的結果 – codeMagic

+0

它與'result = result + curString +「一起工作\ n」;'但問題是,我得到了結果等於文件中所有單個數字的數量,而不是行數。例如:如果我只有一行數字(例如4個數字),那麼我想只顯示一個結果,而不是相同結果的4倍。有什麼建議麼? –