在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監聽器實現復雜的用戶交互邏輯。這種方法可以讓你的代碼更加模塊化和易于維護。