2014-01-21 22 views
1

我的活动中有一些布局,其中包含一些UI元素。我想要处理整个活动的长按。还需要分别处理所有UI事件的点击事件。我该怎么做?请帮助。代码如何处理整个活动的长按事件

+0

是否要处理长按键事件对于某些特定的键或所有键的所有看法? –

+0

所有键。 @Zohra汗 – ydnas

回答

0

例如活动子类可以使用实现了长按 CALL键特殊动作:

@Override 
public boolean onKeyLongPress(int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.KEYCODE_CALL) { 
     // a long press of the call key. 
     // do our work, returning true to consume it. by 
     // returning true, the framework knows an action has 
     // been performed on the long press, so will set the 
     // canceled flag for the following up event. 
     return true; 
    } 
    return super.onKeyLongPress(keyCode, event); 
} 

检查http://android-developers.blogspot.in/2009_12_01_archive.html

+0

这似乎并不奏效。 @Zohra汗 – ydnas

+0

按键是用于硬件按钮或软键盘,而不是视图 –

1

重命名你的布局仅仅是最大的(线性布局,相对布局在XML文件或...),并使用此代码

Layout ly=(Layout) findVewById(R.id.yourlayout); 
    ly.setOnLongClickListener (new.   Onlongclicklistener(){ 
    @Override 
    public boolean onTouchEvent(MotionEvent event) { 
    //do something 
     } 
    } 
2

类可以使用接口onLongClickListener

yourclass extends Activity implements View.OnLongClickListener它有长按通知的方法。

注:不要忘记设置yourView.setOnLongClickListener(this);您需要