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

자바로 생성한 TextView getText 불러오기

0 추천

 

TextView 를 아래처럼 여러개를 생성했습니다.

근데 문제가 저 TextView 의 내용을 가져오려고 하는데

.getText() 를 하면 NullPointException 에러가 납니다.

예를들어 addTextImg(mStartCount, "22", "red", 18, 30, 30) 으로 호출했을 때

mStartCount.getText() 를 사용하면 '22' 가 읽혀질줄 알았는데 안되네요 ㅠ

어떻게 불러서 써야 하나요?

 

public TextView addTextImg(TextView v, String _text, String _color, int _size, int _w, int _h){
  
  v = new TextView(getActivity());
  v.setText(_text);
  v.setTextColor(Color.BLACK);
  v.setSingleLine(true);
  v.setTextSize(_size);
  
  if(_color.equals("gray"))
   v.setBackgroundColor(Color.GRAY);
  else if(_color.equals("red"))
   v.setBackgroundColor(Color.RED);
  else if(_color.equals("green"))
   v.setBackgroundColor(Color.GREEN);
  
  v.setLayoutParams(new FrameLayout.LayoutParams(_w, _h));
  v.setGravity(Gravity.CENTER_VERTICAL|Gravity.CENTER_HORIZONTAL);
   
  return v;  
 }

 

익명사용자 님이 2013년 11월 14일 질문

1개의 답변

0 추천
 
채택된 답변
        TextView t1 = null, t2 = null, t3 = null;
        t1 = addTextImg(t1, "Test", "gray", 10, 20, 20);
        t2 = addTextImg(t2, "Test2", "red", 10, 20, 20);
        t3 = addTextImg(t3, "Test3", "green", 10, 20, 20);
        
        Log.d("TEST", (String) t1.getText()); 
        Log.d("TEST", (String) t2.getText());
        Log.d("TEST", (String) t3.getText());

 

11-14 14:42:45.109: D/TEST(20180): Test
11-14 14:42:45.109: D/TEST(20180): Test2
11-14 14:42:45.109: D/TEST(20180): Test3

TextView 생성부분이 어색하긴 합니다만 테스트해보면 일단 의도하신대로 동작은 합니다.

해당 API  를 쓰는 부분이 위의 상황과 틀린지 여부나 생성된 TextView 관리 부분을 확인해 보세요

현재 전달된 코드만으로는 정확히 집어내기는 어렵겠네요.

 

추가적으로 확인해보니 혹시

addTextImg(t1, "Test", "gray", 10, 20, 20);
addTextImg(t2, "Test2", "red", 10, 20, 20);
addTextImg(t3, "Test3", "green", 10, 20, 20);

그냥 이런 형태로 쓰셨으면 NullPointerException 발생하겠네요.

mono1 (3,100 포인트) 님이 2013년 11월 14일 답변
머 동작은 하겠습니다만 addTextImg 함수의 인자들을 저렇게 보내야되는지를 좀 더 확인해보세요. 올바른 사용법은 아닙니다.
아..DB 에서 가져와서 동적으로 뿌려야 하는거라서요;;;  암튼 감사합니다. 덕분에 해결됐네요 ^^
...