我扩展了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-programming-in-android-159054d52757https://fernandocejas.com/2014/08/03/aspect-oriented-programming-in-android/
此lib应该可以帮助您: