안녕하세요
	1이아닐때도 바뀐다는건 조건문이 문제가 있을테고 이벤트가 안먹는다는건 리스너가 잘못되었겠네요;;;
	디버그나 로그를 찍어보세요...
	 
	이벤트가 많을때는 
public void onClick(View v)
{
	switch (v.getId())
	{
		case R.id.1:
				
		break;
		case R.id.2:
				
		break;
		case R.id.3:
				
		break;
	}
}
	한눈에 들어와서 전 이렇게 씁니다
	그리고 버튼 선언같은경우는 
view = new View[]
{ findViewById(R.id.1), findViewById(R.id.search_ch1), findViewById(R.id.ok),
findViewById(R.id.photo), findViewById(R.id.se123), findViewById(R.id.ppp) };
btn = new Button[view.length];
for (int i = 0; i < btn.length; i++)
{
	btn[i] = (Button) view[i];
}
	요론식으로도 활용할수가 있겠네요.