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

텍스트뷰가 settext 될 때의 if 문

0 추천
textview1 이라는 텍스트뷰가 있습니다.

if문을 이용하여 textview1이 setText 될 때의 작업을 주려고 하는데

setText될 때의 if문은 어떻게 작성해야 하나요?
하루퍼 (710 포인트) 님이 2014년 7월 6일 질문

2개의 답변

+3 추천
 
채택된 답변
http://developer.android.com/reference/android/widget/TextView.html#addTextChangedListener(android.text.TextWatcher)

 

TextWatcher를 통해 입력된 텍스트가 변할때마다 리스너가 들어올 수 있게 개발 가능합니다.
dev_아마 (9,750 포인트) 님이 2014년 7월 7일 답변
하루퍼님이 2014년 7월 7일 채택됨
@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        list = new ArrayList<String>();
        final TextView pw = (TextView) findViewById(R.id.pw);

        Button cr = (Button) findViewById(R.id.create);
        cr.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                int r = (int) (Math.random() * 29);
                int k = (int) (Math.random() * 300);
                int a = (int) (Math.random() * 300);
                int b = (int) (Math.random() * 300);
                int c = (int) (Math.random() * 300);
                pw.setText(kor[k] + kor[a] + str[r] + kor[b] + kor[c]);

            }

        });

        TextView pw1 = (TextView) findViewById(R.id.pw);
        pw1.addTextChangedListener(new TextWatcher() {

            public void afterTextChanged(Editable a) {
                // ignore
            }

            public void beforeTextChanged(CharSequence s, int start, int count,
                    int after) {
                // ignore
            }

            public void onTextChanged(CharSequence s, int start, int before,
                    int count) {
                list = new ArrayList<String>();
                list.add(pw,getText().toString());
            }
        });

        adapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_1, list);

        lv = (ListView) findViewById(R.id.lv);
        imm = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
        lv.setAdapter(adapter);

    }

소스코드는 이렇습니다.
여기서 textview pw가 setText 될 때(add Changerd Listener), list에 add 시키고자 합니다. 지금 위 소스코드를 실행해 보니, list에 추가가 되지 않습니다. 어떻게 해야할 지 알려주시면 감사하겠습니다..
0 추천
텍스트뷰에 텍스트 체인지 리스너를 달아주시면 될거 같네요 '-'
초보개발자ㅠ (33,870 포인트) 님이 2014년 7월 7일 답변
...