2011-02-03 3 views
0

나는 여전히 Java 프로그래밍에 익숙하지 않으므로 이에 대한 분명한 대답이있을 것이다. 그러나 필자의 코드와 웹을 수색하고 루트를 찾을 수 없다. 이 문제. 에서안드로이드 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를 char 대신 int로 사용하십시오. 내가 뭘 놓치고 있니? 지금은 char [] 요소를 String으로 읽어 들여 setText에 사용했지만 그다지 우아하지는 않습니다.

답변

1

Button 클래스의 setText 메서드 목록을 확인하십시오.

이 있습니다

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

내가 understan하지 않습니다 d 당신이 사용하려고 시도하고있는 이러한 방법들 중 어떤 것. 내가 제대로 수행 할 작업을 해석하는 경우와 그 호출을 대체 할 수 있습니다 : 나는의 setText의 "문자 [], INT, INT"버전을 놓쳤다

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

합니다. 그게 내가 필요한거야. 감사! – Vic

1

무엇이 누락 되었습니까?

인스턴스는 String입니다. char[]은 (는) 개체가 아닙니다. char는 (는) 개체가 아닙니다. char[]String과 관련이 거의 없습니다. charString과 더 관련이 없습니다.

지금은 char [] 요소를 String으로 읽고 setText에 사용했지만 그다지 우아하지 않습니다.

나는 char[]을 삭제하고 Java에서 의미있는 것을합니다. char[]은 모든 종류의 문제 (예 : 유니 코드의 인코딩 문제)로 인해 Java에서 거의 사용되지 않습니다. 예를 들어, 문자열 배열에 String[]을 사용하십시오.

관련 문제