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

버튼 관련해서 질문있습니다.

0 추천

버튼을 다른 메소드에서 정의하고, 그 정의된 메소드를 클릭이벤트 리스너 메소드 부분에서 사용하고 싶은데 참조를 못하더라구요.

전체 클래스에서 전역변수식으로 선언하면 되긴 하는데 저는 메소드를 따로 만들어서 정의해놓고 가져다 쓰고 싶은데 오류가 나네요..ㅠㅠ 어떻게 해결방법 없을까요?

코드 첨부합니당..

 

private void Memo_Btn(){
Button Btn_save = (Button)findViewById(R.id.Btn_save);
Button Btn_cancel = (Button)findViewById(R.id.Btn_cancel);
}
 
Button.OnClickListener additionListener = new Button.OnClickListener() {
@Override
public void onClick(View v) {
Memo_Btn();
if(Et_memo.getVisibility() == View.INVISIBLE) {
Et_memo.setVisibility(View.VISIBLE);
Btn_save.setVisibility(View.VISIBLE);
}
else{
Et_memo.setVisibility(View.GONE);
}
}
};

 

우윤데에 (730 포인트) 님이 2013년 7월 23일 질문

1개의 답변

0 추천

멤버 변수와, 일반 변수의 개념부터 먼저 익히셔야 겠습니다.

Button Btn_save;
Button Btn_cancel;

private void Memo_Btn(){
    Btn_save = (Button)findViewById(R.id.Btn_save);
    Btn_cancel = (Button)findViewById(R.id.Btn_cancel);

    Btn_save.setOnClickEventListener(additionListener);
    Btn_cancel.setOnClickEventListener(additionListener);
}
 
Button.OnClickListener additionListener = new Button.OnClickListener() {
    @Override
    public void onClick(View v) {
        Memo_Btn();
        if(Et_memo.getVisibility() == View.INVISIBLE) {
            Et_memo.setVisibility(View.VISIBLE);
            Btn_save.setVisibility(View.VISIBLE);
        }
        else{
            Et_memo.setVisibility(View.GONE);
        } 
    }
};
private void Memo_Btn(){
    Button Btn_save = (Button)findViewById(R.id.Btn_save);
    Button Btn_cancel = (Button)findViewById(R.id.Btn_cancel);
    Button.OnClickListener additionListener = new Button.OnClickListener() {
        @Override
        public void onClick(View v) {
            Memo_Btn();
            if(Et_memo.getVisibility() == View.INVISIBLE) {
                Et_memo.setVisibility(View.VISIBLE);
                Btn_save.setVisibility(View.VISIBLE);
            }
            else{
                Et_memo.setVisibility(View.GONE);
            } 
        }
    };
    Btn_save.setOnClickEventListener(additionListener);
    Btn_cancel.setOnClickEventListener(additionListener);
}
 

둘중에 하나 골라서 사용하세요

aucd29 (218,390 포인트) 님이 2013년 7월 23일 답변
...