2011-02-03 68 views
0

我對Java編程還比較陌生,所以也許有一個明顯的答案,但是我已經搜索了我的代碼和Web,並且找不到這個問題。我創建了一個佈局文件這個方法我的應用程序:Android SDK setText將char []元素與int相混淆

public void setNumLabels(char[] labels){ 
    int niCC = getChildCount(); 
    for(int c = 0;c < niCC; c++){ 
     if(getChildAt(c) instanceof TableRow){ 
      TableRow tr = (TableRow) getChildAt(c); 
      int trCC = tr.getChildCount(); 
      for(int rc = 0;rc < trCC;rc++){ 
       if(tr.getChildAt(rc) instanceof Button){ 
        ((Button) tr.getChildAt(rc)).setText(labels[c*3+rc],1); 
       } 
      } 
     } 
    } 

我遇到的問題是,編譯器(顯然Dalvik)看到「標籤[C * 3 + RC]」在setText作爲int而不是char。我錯過了什麼?就目前而言,我已經將char []元素讀入一個String中,並將其用於setText,但這看起來有點不雅。

回答

1

查看Button類的setText方法列表。

有:

  • setText(int, TextView.BufferType)
  • setText(int)
  • setText(CharSequence)
  • setText(CharSequence, TextView.BufferType)
  • setText(char[], int, int)

我不understan d您嘗試使用哪種方法。 如果我理解你想要正確地做什麼,你可以取代這個電話有:

((Button) tr.getChildAt(rc)).setText(labels, c*3+rc, 1); 
+0

我已經錯過了「的char [],INT,INT」的setText的版本。這是我需要的。謝謝! – Vic 2011-02-04 21:00:07

1

我錯過了什麼?

String的實例是對象。 char[]不是一個對象。 char不是一個對象。 char[]String沒有多大關係。 charString的關係更小。

現在,我已經將char []元素讀入一個字符串中,並將其用於setText,但這看起來有點不雅。

我想刪除char[]並在Java中做一些有意義的事情。由於各種問題(例如Unicode的編碼問題),因此幾乎從未在Java中使用過char[]。例如,對字符串數組使用String[]