2017-04-10 55 views
2

是否有任何方法来侦听UI事件,例如在main/ui线程上单击按钮?没有直接在每个UI的回调(例如onClickListener)上进行交互?在MainThread(UI线程)上监听UI事件以及触发事件的视图

我只是想听听它的UI事件触发的任何事情,我已经挖周围,但我只找到一些帖子消息从另一个线程UI线程,我要的只是到UI线程例如一个按钮被按下时,

findViewById(R.id.button_1).setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 

      // some button click stuffs here 
     } 
    }); 

    // this is where I want to listen from ui events (e.g click), 
    // and determine what type of view that triggered that event 
    // or how to get the actual view object that triggered it 

我猜想,这可能已经被要求(这将是很好,如果这将被标记为重复,但请提供相关的帖子,如果有),每当我尝试搜索“听主线程”之类的东西时,我找不到一些东西像我所需要的东西,任何帮助将不胜感激,或任何相关的链接。

编辑:目前的情况是,有没有办法对我来说,与现有代码进行交互,所以我试图找到一种方法,这些UI事件听不接触实际的代码(通过单独的模块/库),我不知道这是否可能实现,虽然

enter image description here

+0

你能详细说明你的目的是什么? – mpals

+0

对不起,我刚刚编辑了我的问题,关于我为什么需要这样做的目标, – Robert

回答

0

我觉得没有直接的方法来做到这一点,如果你想外面处理它,使用处理器

+0

是的,我一直在阅读关于处理程序的事情,Looper,但是我看到的所有代码都是需要踢的东西( handler.post),所以事件会触发,它总是一个双向交互,我只需要一个单向的,一个伪解释可能是这样的(在UI线程上附加一个处理程序,然后只听听什么是或什么消息ui线程触发) – Robert