IllegalStateExceptionが:ドラッグ影の大きさは正でなければなりません

cornjolio:

https://developer.android.com/reference/android/view/View.DragShadowBuilder#public-constructors

私は2番目のコンストラクタを使用する場合は、上記概説 - 「View.DragShadowBuilderは()なし関連するビューシャドウビルダーオブジェクトを構築します。」

次の例外が発生しますjava.lang.IllegalStateException:ドラッグ影の寸法は正でなければなりません

コードの2行目は、ここで私のためにこれが発生します。

public boolean onLongClick(View view) {
    view.startDragAndDrop(null, new View.DragShadowBuilder(), view, 0); 
    return true;
}

それが唯一のアンドロイド9パイで発生します。私は何の問題もなく、以前のAndroidのバージョンでそれを試してみました。私はAndroidの課題追跡に問題を作成し、それが起こるか、それを解決する方法をなぜここに多分誰かが知っています。

一方で私は、ビューが今のクラッシュを停止しますが、それが最善の解決策である場合、私はわからない透明ImageViewのことで、新たなView.DragShadowBuilderView(ビュー)を作成しています。

devgutt:

透視図を作成する必要はありません。カスタムの作成DragShadowBuilder

public class MyDragShadowBuilder extends View.DragShadowBuilder {

    @Override
    public void onProvideShadowMetrics(Point outShadowSize, Point outShadowTouchPoint) {
        outShadowSize.set(1,1);
        outShadowTouchPoint.set(0,0);
    }
}

そして、交換してくださいnew View.DragShadowBuilder()new MyDragShadowBuilder()

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=119711&siteId=1