2013-06-18 136 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倍。有什么建议么? –