2014-04-24 2 views
0

이것은 간단해야하지만, 나는 단지 작동하는 해결책을 찾을 수 없다. ...WebView가있는 DialogFragment - 뒤로 버튼을 처리 하시겠습니까?

나는 WebView를 포함하는 LinearLayout으로 구성된 DialogFragment를 가지고있다. 사용자가 WebView에서 탐색 할 때 나는 뒤로 버튼을 사용하여 돌아갈 수 있기를 원합니다. 사용자가 시작 페이지에 도달하면 (다시 돌아갈 수 없음) 뒤로 버튼은 대화 상자를 닫아야합니다.

나는 setCancelable (false)을 시도하고 DialogFragments 루트보기 (inflate()에 의해 반환 된 것)에서 OnKeyListener를 사용하여 보았지만 다시 버튼을 호출하지 않는 것 같습니다.

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    View v = inflater.inflate(R.layout.dialog_fragment_layout, container, false) 

    webView = (WebView) v.findViewById(R.id.webView); 
    webView.setOnKeyListener(keyListener);   

    return v; 
} 


OnKeyListener keyListener = new OnKeyListener() {    
    @Override 
    public boolean onKey(View v, int keyCode, KeyEvent event) { 
     if(keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN){ 
      if(webView.canGoBack()){ 
       webView.goBack(); 
       return true; 
      } 
     } 

     return false; 
    } 
}; 
: 모든 가능한 경우 활동의 onBackPressed()를 포함하는,

답변

0

지금까지

가, 내가 찾은 해결책이처럼 웹보기의 OnKeyListener를 설정하는 것입니다 ... DialogFragment에 의해 처리되어야한다