왜그럴까요? @,@

정황은 이렇습니다.

1. ViewFlipper 에 두개의 View 를 넣는다. 
2. 첫번째 뷰의 버튼 클릭 리스너로 onClick 시 Flipper 의 showNext() 호출.
3. 두번째 뷰의 onKey 리스너로 backbutton 키를 누르면 flipper 의 showPrevious() 를 호출한다.

이 과정에서, 첫번째와 두번째 뷰를 
LinearLayout settingMain = (LinearLayout)mInflater.inflate(R.layout.setting, null);

이런식으로 inflate 시켜서 생성 후 setOnKeyListener 를 통해 리스너 등록 했었거든요?
헌데 두개의 뷰 중 하나라도 inflate 을 통해 생성한거면 onkey 리스너가 동작 안합니다.
하지만 둘 다 inner class 로 해서 아래와 같이 생성하면,

public class SettingAbout extends LinearLayout {
public SettingAbout(Context context) {
super(context);
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
inflater.inflate(R.layout.setting_about, this, true);
this.setLayoutParams(thisLayout);
this.setFocusableInTouchMode(true);
}
}

잘 동작 합니다. -_- 

왜 그럴까요~~