빌드중인 앱에 대한 사용자 정의 웹보기를 디자인하는 데 몇 주가 걸렸습니다. 안드로이드 WebView를 확장하는 클래스 (myWebView라고 부르 자)가 있습니다. myWebView를 main.xml에 선언했습니다. 다른 UI 요소가 myWebView 앞에 패키지 이름을 추가하는 것처럼 말입니다. 모든 것이 훌륭하게 멋지게 작동했습니다.Android : 사용자 정의 웹보기 및 옵션 메뉴에 문제가 발생했습니다.
확장 된 클래스의 모든 기능을 사용하는 데 몇 주가 지난 후 옵션 메뉴를 구현해야했습니다. 내가 해왔 던 것과 비교해 볼 때 이것은 비교적 간단한 작업이라고 생각했다. onCreateOptionsMenu()를 덮어 쓰고 XML 파일에서 내 메뉴를 팽창 시키려고했습니다. 에뮬레이터에서 앱을 실행하고 메뉴 버튼을 누르면 아무 일도 없었습니다. onCreateOptionsMenu()에 대한 내 코드에 결함이 없었습니다. 나는 일반적인 webview 만 포함 된 간단한 main.xml을 가짜 활동에서 시도했다. 메뉴는 더미 활동에서 작동했습니다. 그런 다음 다양한 다른 방법으로 메뉴를 채우려고 시도했는데 (menu.add()의 여러 구현을 사용하여) 모두 더미 활동을 수행했지만 실제 앱에서는 작동하지 않았습니다. onCreate 및 onCreateOptionsMenu에 있던 것을 제외하고 내 활동에서 모든 것을 삭제하여 내 다른 방법 중 하나가 메뉴 작성을 방해하고 있는지 확인했습니다. 그것은 또한 아무것도 달성하지 못했습니다. 나는 메소드가 호출되는지를보기 위해 onCreateOptionsMenu()에 로그 문을 두었습니다. 내가 메뉴 버튼을 눌렀을 때 Lo-and-beold라고 불리지 않았다. 마지막으로 내 main.xml에 들어가서 레이아웃에서 myWebView에 대한 태그를 삭제했습니다. 그런 다음 앱이 실행되고 메뉴가 작동했습니다.
그래서 내 맞춤 웹보기를 사용하면 메뉴가 작동하지 않습니다. 다른 사람이이 문제를 겪었습니까? 사용자 정의 UI 요소로 옵션 메뉴를 사용할 수 없다는 것을 믿기 어렵 기 때문에 몇 가지 해결 방법이 있어야합니다. 반대로, 누구나 사용자 정의 webview를 작성하고 옵션 메뉴를 성공적으로 구현 했으므로 코드를 다시 검토해야합니다. 누구든지 도움이된다고 생각하면 코드를 올리 겠지만, 모든 것이 올바르게 코딩되었고 모범 사례에 따라 99.99 %의 긍정적 인 결과를 얻었으며 확장 클래스의 코드는 방대하고 많은 양의 문질러 써야 할 것입니다. 내가 여기서 말한 것을 바탕으로 누구에게 아이디어가 있습니까?
그리고 해결책은 무엇입니까? – TheRealChx101
내가 말했듯이, 나는 메뉴 버튼 클릭이 등록되는 것을 막는 키패드 이벤트를 무시하고 있었다. 내가 사용했던 코드와 아무 관련이 없습니다.그래도 아래 표를 가져 주셔서 감사합니다. – aamiri