- Siêu lớp và danh mục iOS/Objective-C
- object-c - -1001 lỗi khi NSURLSession vượt qua httpproxy và /etc/hosts
- java - Nhận địa chỉ url bằng lớp mạng
- ios - Âm thanh không phát trong thông báo đẩy
Trong hầu hết các trường hợp, tôi muốn Chế độ xem (con) hiện có tiêu điểm xử lý các sự kiện chính, đây là hành vi mặc định và là những gì tôi đã triển khai cho đến nay.
Tuy nhiên, trong một số trường hợp rất cụ thể mà tôi muốn tạm thời chặn và xử lý tất cả các sự kiện quan trọng (đặc biệt bao gồm cả những sự kiện thường được xử lý bởi các lượt xem phụ) trong Hoạt động hiện tại hoặc trong Chế độ xem gốc của tôi thì điều đó không thành vấn đề, miễn là chúng được Xử lý chung - Tôi không quan tâm đến các nút phần cứng như âm lượng +/- vì dù sao thì chúng cũng sẽ không được xử lý trong bất kỳ lượt xem nào của tôi).
vì chạm Events, chúng tôi có onInterceptTouchEvent(), cho phép ViewGroup quan sát các sự kiện chạm khi gửi các sự kiện chạm đến chế độ xem phụ và ngăn chế độ xem phụ nhận các sự kiện này (khi cần) cho Chế độ xem mà chúng được chuyển hướng tới.
Thật không may, tôi không thể tìm thấy bất kỳ sự kiện quan trọng nào tương tự như onInterceptTouchEvent(). Tôi có thiếu điều gì đó hiển nhiên hay đây thực sự là sự bất cân xứng trong hệ điều hành?
Tất nhiên, tôi chỉ có thể kết nối mã xử lý sự kiện quan trọng hiện tại của mỗi khung nhìn phụ để gọi trực tiếp một phương thức trên Hoạt động chính để xử lý sự kiện (nếu cần) và để phương thức cấp Hoạt động đó trả về giá trị bool cho biết liệu nó có xử lý sự kiện sự kiện hay không . Sau đó, nếu và chỉ khi nó gọi phương thức Hoạt động没有Chế độ xem phụ chỉ có thể xử lý sự kiện khi nó được xử lý.
Nhưng tôi ước có một cách rõ ràng hơn để chặn lưu lượng truy cập trên đường "xuống" hệ thống phân cấp tới chế độ xem phụ, giống như onInterceptTouchEvent() thực hiện đối với các sự kiện chạm.
câu trả lời hay nhất
Bạn có thể sử dụng OnGlobalFocusChangeListener
Thêm vào Chế độ xem gốc của bạn. Hãy làm điều này cho từng Hoạt động:
@Ghi đè
khoảng trống được bảo vệ trênCreate(Gói đã lưuInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(android.R.id.content).getViewTreeObserver().addOnGlobalFocusChangeListener(new ViewTreeObserver.OnGlobalFocusChangeListener() {
@Ghi đè
public void onGlobalFocusChanged(Xem oldFocus, Xem newFocus) {
if (newFocus instanceof EditText) {
((EditText) newFocus).addTextChangedListener(new TextWatcher() {
@Ghi đè
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
// xử lý bất cứ điều gì bạn muốn
}
@Ghi đè
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Ghi đè
public void afterTextChanged(Có thể chỉnh sửa được) {
}
});
}
}
});
}
Tất nhiên, nếu bạn quan tâm đến Chỉnh sửa văn bản
Để quan tâm đến các Chế độ xem khác, bạn phải tìm ra cách quan sát những thay đổi của chúng.
Ngoài ra, nếu bạn muốn thêm nó trên toàn cầu vào tất cả Hoạt động của mình, hãy sử dụng Ứng dụng#registerActivityLifecycleCallbacks()
Hãy sử dụng mã này trong mọi hoạt động của bạn.
Giới thiệu về android - Trong Android, có thể chặn các sự kiện quan trọng trên toàn cầu trước khi chúng tiếp cận chế độ xem phụ có tiêu điểm không? , chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/14890720/
我正在寻找一种使此打印 HTML 代码 fragment 向后兼容旧 Android 版本的简单方法: @TargetApi(Build.VERSION_CODES.KITKAT) private v
我在 GCC 终端 (centos linux) 中为 ATM 项目编译以下 c 和 .h 代码时收到以下错误。请帮忙,因为我是编程新手。 validate_acc.h #ifndef _VALIDA
在写关于 SO 的不同问题的答案时,我制作了这个片段: @import url('https://fonts.googleapis.com/css?family=Shadows+Into+Light'
试图弄清楚我应该如何在 my_div_class 之前放置一个 span 而不是替换所有它。现在它取代了 div,但我不想这样做。我假设它类似于 :before 但不知道如何使用它。 { va
我正在使用选择库 http://github.hubspot.com/select/和 noUiSlider https://refreshless.com/nouislider/ .我面临的问题如下
我是开发新手,独自工作。我正在使用 Xcode 和 git 版本控制。可能我没有适本地组织和做错事,但我通常决定做 promise 只是为了在我破坏一切之前做出安全点。在那一刻,我发现很难恰本地描述我
我想确保在同一个桶和键上读取和写入时,应该更新获取的值,也就是说,应该在对其进行写入操作之后获取它。我怎样才能做到这一点? 我想要的是,如果我更新一个键的值,如果我同时使用不同线程获取值,则更新同一个
我的问题与this有关问题,已经有了答案: yes, there is a happens-before relationship imposed between actionsof the thre
The before and after hook documentation on Relish仅显示 before(:suite) 在 before(:all) 之前调用。 我什么时候应该使用其中
我有 CSV 行,我想在其中检测所有内部双引号,没有文本限定符。这几乎可以正常工作,但我的正则表达式还可以检测双引号后的字符。 CSV 部分: "7580";"Lorem ipsum";"";"Lor
是否可以通过Youtube数据API检查广告是否可以与特定视频一起显示? 我了解contentDetails.licensedContent仅显示视频是否已上传至同一伙伴然后由其声明版权。由于第三者权
考虑一下用漂亮的彩色图表描述的“像素管道” https://developers.google.com/web/fundamentals/performance/rendering/ 我有一个元素(比
之前?
在 MVC3 中,我可以轻松地将 jQuery 脚本标签移动到页面底部“_Layout.vbhtml” 但是,在 ASP.NET MVC3 中,当您使用编辑器模板创建 Controller 时,脚手
悬停时内容被替换,但是当鼠标离开元素时我希望它变回来。我该怎么做? $('.img-wrap').hover(function(){ $(this).find('h4').text('Go
Đã đóng cửa. Sự cố này không thể tái tạo được hoặc do lỗi chính tả. Câu trả lời không được chấp nhận vào thời điểm này. Sự cố này xảy ra do lỗi đánh máy hoặc sự cố không thể sao chép được nữa. Mặc dù một câu hỏi tương tự có thể được đặt lên hàng đầu
Đã đóng cửa. Sự cố này không thể tái tạo được hoặc do lỗi chính tả. Câu trả lời không được chấp nhận vào thời điểm này. Sự cố này xảy ra do lỗi đánh máy hoặc sự cố không thể sao chép được nữa. Mặc dù một câu hỏi tương tự có thể được đặt lên hàng đầu
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 已关闭 9 年前。 有关您编写的代码问题的问题必须在问题本身中描述具体问题 - 并包含有效代码以重现该问题。
版本:qwt 6.0.1我尝试开发频谱的对数缩放。我使用简单的线条来启用缩放plotspectrum->setAxisScaleEngine(QwtPlot::yLeft, new QwtLog10S
我有两个相同的表,I_Subject 和 I_Temp_Subject,我想将 Temp_Subject 表复制到 Subject 表。 I_Temp_Subject 由简单用户使用,I_Subjec
我的印象是第一次绘制发生在触发 DOMContentLoaded 事件之后。特别是,因为我认为为了让第一次绘制发生,需要渲染树,它依赖于 DOM 构造。另外,我知道 DOM 构造完成时会触发 DOMC
Tôi là một lập trình viên xuất sắc, rất giỏi!