2016-07-06 55 views
0

我有一個視圖在另一個視圖之上。點擊底部視圖應該觸發回調。點擊時頂視圖不應觸發任何回調。Android有查看Block/Swallow Click事件

我面臨的問題是,當頂部視圖點擊時,底部視圖觸發回調。我想阻止這一點。

我讀了一些職位上禁用點擊和他們都表明了同樣的事情:

view.setEnabled(false);

view.setClickable(false);

這些都不防止頂視圖從吞嚥/阻止點擊事件。

你知道我怎麼能有一個視圖,防止通過點擊?

回答

0

這是一個小黑客,但我想出的最佳解決方案是添加一個空的onClickListener來吞噬事件。

button.setOnClickListener(new View.OnClickListener() 
    { 
     @Override 
     public void onClick(View v) 
     { 
      // HACK disables click through events by swallowing click 
     } 
    }); 
0

我不明白你想要做什麼,沒有一個例子。

但是,如果要禁用點擊一個特定視圖&你沒有對這一觀點的任何單擊功能,然後嘗試

view.setOnClickListener(NULL);

另外,你嘗試view.setFocusable(false); ??

+0

這是行不通的。我不確定一個例子會有什麼幫助。它從字面上看是另一個頂部的視圖。 – Aggressor