rDr*_*oid 110
public class CustomView extends View(){
OnCustomEventListener mListener;
:
://some code
:
:
Run Code Online (Sandbox Code Playgroud)
创建一个由您的活动实现的界面:
public interface OnCustomEventListener {
void onEvent();
}
public void setCustomEventListener(OnCustomEventListener eventListener) {
mListener = eventListener;
}
Run Code Online (Sandbox Code Playgroud)
现在您需要知道事件何时实际发生.例如,当用户触摸屏幕上的某个点时,覆盖onTouchEvent方法:
onTouchEvent(MotionEvent ev) {
if (ev.getAction==MotionEvent.ACTION_DOWN) {
if(mListener!=null)
mListener.onEvent();
}
}
Run Code Online (Sandbox Code Playgroud)
同样,您可以创建所需的特定事件.(例子可以触及,等待2秒并释放 - 你需要在触摸事件中做一些逻辑).
在您的活动中,您可以使用customView对象来设置eventListener:
customView.setCustomEventListener(new OnCustomEventListener() {
public void onEvent() {
//do whatever you want to do when the event is performed.
}
});
Run Code Online (Sandbox Code Playgroud)
小智 14
它可以通过以下方式完成
首先创建一个接口类:
public interface OnStopTrackEventListener {
public void onStopTrack();
}
Run Code Online (Sandbox Code Playgroud)
然后创建控制接口的类:
public class Player {
private OnStopTrackEventListener mOnStopTrackEventListener;
public void setOnStopTrackEventListener(OnStopTrackEventListener eventListener)
{
mOnStopTrackEventListener = eventListener;
}
public void stop()
{
if(mOnStopTrackEventListener != null)
{
mOnStopTrackEventListener.onStopTrack();
}
}
}
Run Code Online (Sandbox Code Playgroud)
就这些.我们现在就用吧
Player player = new Player();
player.stop(); //We are stopping music
player.setOnStopTrackEventListener(new OnStopTrackEventListener() {
@Override
public void onStopTrack() {
//Code to work when music stops
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
60633 次 |
| 最近记录: |