2014-06-22 2 views
0

Android 앱을 개발 중이지만 Android에 대한 경험이 없기 때문에 도움이 필요합니다.올바른 방법으로 setOnClickListener 사용

test.setOnClickListener(new View.OnClickListener() { 
    public void onClick(View v) { 
    // Here i declare: TextView test = (TextView) findViewById(R.id.test2); 

난에 대한 test을 클릭하면 : 나는 setOnClickListener이 가진 후 TextView test = (TextView) findViewById(R.id.test);

: 내가 선언 한

:

, 여기 내 문제

내 코드를 단순화거야입니다 처음에는 findViewById(R.id.test)에 해당하지만, 두 번째로 클릭하면 여전히 findViewById(R.id.test)에 해당합니다.

왜 그런가?

미리 감사드립니다. :)

+1

당신이하고자하는 것은 무엇입니까? – Raghunandan

+0

응용 프로그램이 시작될 때 문자열을 findViewById (R.id.test) 문자열로 전달하고 싶습니다.이 문자열을 다른 TextView에 전달하려면 findViewById (R.id.test2) – Joan

+0

@ 조안 귀하의 질문에 명확하지 않습니다. 원하는게 뭐야? 텍스트보기의 첫 번째 클릭에서 첫 번째 텍스트보기에 데이터를 쓰고 두 번째 텍스트보기에서 두 번째 텍스트보기에 데이터를 쓰고 싶습니다. 이것이 귀하의 질문이 아니라면 친절하게 더 자세히 설명하십시오. – CodeWarrior

답변

0

클릭 수신기 내부에 새로운 TextView을 정의했기 때문입니다. test 변수가 아닙니다.

클릭 수신기 내에 TextView test = (TextView) findViewById(R.id.test2);을 입력하면 이전에 정의한 것과 다른 변수 TextView test이 정의됩니다.

값만 재 할당하려면 onClickListener(); 내부에 test = (TextView) findViewById(R.id.test2);을 사용해야합니다.

+0

맞습니다,하지만 동일한 TextView를 다시 선언하지는 않습니다. 예제 TextView와 다음을 선언합니다. test = example; 하지만 TextView가 업데이트되지 않았습니다 .. – Joan

+0

수정 된 답변 확인. –

관련 문제