创建 CustomButton 将 Button 扩展到在 onclick 之前调用的预设条件
Creating CustomButton Extends Button to pre set conditions which called before onclick
我已经扩展了按钮 class 并且我想要 运行 方法,例如 isInternetConnected
和 isUserLoggedIn
当用户点击这个按钮并执行 onclick
如果所有条件都满足。
例如,如果我创建了简单的表单,其中用户名、电子邮件、phone 没有。并放置提交按钮。当用户首先点击提交时,它会检查 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-159054d52757
https://fernandocejas.com/2014/08/03/aspect-oriented-programming-in-android/
这个库应该可以帮助你:
我已经扩展了按钮 class 并且我想要 运行 方法,例如 isInternetConnected
和 isUserLoggedIn
当用户点击这个按钮并执行 onclick
如果所有条件都满足。
例如,如果我创建了简单的表单,其中用户名、电子邮件、phone 没有。并放置提交按钮。当用户首先点击提交时,它会检查 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-159054d52757 https://fernandocejas.com/2014/08/03/aspect-oriented-programming-in-android/
这个库应该可以帮助你: