我正在扩展AsyncTaskLoader,后来我通过LoaderManager在Fragment中使用它.是否有建议的方法来处理异步任务期间发生的错误?我想弹出消息,要求用户在发生互联网连接错误时取消或重试.
我现在能想到的唯一方法是让Loader在出错时返回null或将加载的对象包装到另一个具有状态代码的对象中.
我正在使用以下代码来创建视图的触摸委托。问题是我想要增加的可点击区域的视图位于非常狭窄的 LinearLayout 内部。因此,下面的代码可以增加我的视图的可点击区域,但仅限于我狭窄的 LinearLayout 的范围内。我想传递给这个函数的不是 myView 的父函数,而是祖父函数 (myView.getParent().getParent())。它是一个RelativeLayout,有更大的可点击区域的空间。但这样的话 touchRect 将指向错误的位置,并且我的 TouchDelegate 将定位不正确。
因为: delegate.getHitRect(touchRect); 返回相对于父母而不是祖父母(或父母的父母)的位置。
public static Runnable getTouchDelegateAction(final View delegate, final View parent, final int topPadding, final int bottomPadding, final int leftPadding,
final int rightPadding) {
return new Runnable() {
@Override
public void run() {
// Construct a new Rectangle and let the Delegate set its values
Rect touchRect = new Rect();
delegate.getHitRect(touchRect);
// Modify the dimensions of the Rectangle
// Padding values below zero are replaced by zeros …
Run Code Online (Sandbox Code Playgroud)