마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

여러개 id 값은 한번에 저장할수 있는방법 ?

0 추천

 

Table Layout  사용해서 text view 여러개 만들어서 text view 각각 id를 생성해서

edit text 에 저장한 문자를 text view1 ~ 10 개의 한글자씩을 보내고 싶습니다.

각각의 텍스트뷰를 한곳에 모을수 있는 방법이 있는지요 ?

 

String s ;
s = et_id.getText().toString(); 
for (int i=0; i < s.length(); i++)
{
    
    tv1.setText(s.charAt(i)+"\n");
     //tv[i].setText(s.charAt(i)+"\n");  <- 예를들어 이런식의로 가능한지요 ?
}

 

 

 

 

 

엔트2 (140 포인트) 님이 2021년 2월 6일 질문

1개의 답변

0 추천

EditText 10개를 찾으실 때 findViewBy를 10번 해야 되니까, 이걸 해결하고 싶으신건가요?
제가 맞게 이해했다는 전제하에 답변을 하겠습니다.

텍스뷰를 LinearLayout같은 뷰그룹 안에 넣으시구요, 그 뷰그룹 안에 있는 텍스뷰를 찾으시면 됩니다.

final ViewGroup container = findViewById<ViewGroup>(viewGroupIdContainsTextViews);

int count = container.getChildCount();
int charIndex = 0;
for (int i = 0; i < count; i++) {
   final View child = getChildAt(i);
   if (child instanceof TextView) {
          TextView tv = (TextView) child;
          tv.setText(s.charAt(charIndex++));
   }        
}

 

try - catch로  index 예외를 처리하시거나 TextView의 갯수와 표시하려는 문자열의 숫자를 체크하시는 것도 잊지 마시구요.

spark (227,470 포인트) 님이 2021년 2월 6일 답변
spark님이 2021년 2월 6일 수정
저 제송합니다만.

ViewGroup container = ...

id 를 설정하는건지요 ?
텍스트뷰들을 포함하고 있는 ViewGroup을 지정하시면 됩니다.
...