我已经扩展了Button类,我想在用户单击该按钮时运行isInternetConnected
和isUserLoggedIn
等方法,如果所有条件都满足,则在执行onclick
之后运行。
例如,如果我创建了一个简单的表单,其中放置了用户名、电子邮件、电话号码和提交按钮。当用户首先点击提交时,它会检查isInternetConnected
和isUserLoggedIn
是否满足要求,然后执行最终操作,将用户数据保存到服务器或任何地方
public class CustomButton extends Button {
private static final String TAG = "CustomButton";
public CustomButton(Context context) {
super(context);
}
public CustomButton(Context context, AttributeSet attrs) {
super(context, attrs);
}
public CustomButton(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
public CustomButton(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
}
如果这是可能的,那么我不需要每次都检查
`mButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (!isInternetConnected) {
//show dialog or snackbar
} else if (!isUserLoggedIn) {
//show dialog or snackbar
}else {
// save data
}
}
});`
现在我明白你在问什么了。您的问题的理想解决方案是AOP(面向方面编程(。这些应该会帮助你:
https://medium.com/@jdvp/aspect-oriented-proprogramming-in-android-159054d52757https://fernandocejas.com/2014/08/03/aspect-oriented-programming-in-android/
这个库应该会帮助你:
https://www.eclipse.org/aspectj/