在Android中,监听器(Listener)是一种常用的处理用户交互的方法
OnCustomInteractionListener
的接口,用于处理复杂的用户交互逻辑:public interface OnCustomInteractionListener {
void onInteractionStarted();
void onInteractionCompleted(String result);
void onInteractionCancelled();
}
public class MainActivity extends AppCompatActivity implements OnCustomInteractionListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public void onInteractionStarted() {
// 处理交互开始时的逻辑
}
@Override
public void onInteractionCompleted(String result) {
// 处理交互完成时的逻辑
}
@Override
public void onInteractionCancelled() {
// 处理交互取消时的逻辑
}
}
OnCustomInteractionListener
类型的变量,并提供一个公共方法来设置监听器:public class CustomInteractionHandler {
private OnCustomInteractionListener mListener;
public void setOnCustomInteractionListener(OnCustomInteractionListener listener) {
mListener = listener;
}
// 其他与用户交互相关的方法
}
在处理用户交互的类中,根据需要调用监听器的方法。例如,当交互开始时,调用mListener.onInteractionStarted()
;当交互完成时,调用mListener.onInteractionCompleted(result)
;当交互取消时,调用mListener.onInteractionCancelled()
。
最后,在Activity或Fragment中,创建一个CustomInteractionHandler
实例,并使用setOnCustomInteractionListener
方法设置监听器:
public class MainActivity extends AppCompatActivity implements OnCustomInteractionListener {
private CustomInteractionHandler mInteractionHandler;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mInteractionHandler = new CustomInteractionHandler();
mInteractionHandler.setOnCustomInteractionListener(this);
}
// 实现OnCustomInteractionListener接口的方法
}
通过以上步骤,你可以使用Android监听器实现复杂的用户交互逻辑。这种方法可以让你的代码更加模块化和易于维护。