完成ListView
するまで、Androidをクリックできないようにしたいと思います。AysncTask
だから私は使った
lv.setClickable(false);
しかし、うまくいきません。ListView
まだクリックがかかります。助けが必要。
私にとってうまくいったのは、リスト項目の XML に 2 つの属性を設定することです。と を設定clickable="false"
しfocusable="true"
ました。したがって、私のリスト項目のそれぞれは、次のような XML ファイルを膨らませています。
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clickable="false"
android:focusable="true" >
<!-- Children here -->
</LinearLayout>
これが私の推測ですが、なぜこれが機能するのか正確にはわかりません:
LinearLayout はクリック可能ではありませんが、その中の子はまだクリック可能であるため、クリック可能な属性だけを使用しても機能しません。次に、子はクリックイベントを取得しますが、それを使用せずに LinearLayout に転送します。
LinearLayout をフォーカス可能にすることで、クリック イベントを受け取り、クリック可能ではないためドロップします。
お役に立てれば。このアプローチが機能する理由を誰かが確実に知っている場合は、声をかけてください.
代わりにこれを試してください:
lv.setEnabled(false);
編集:申し訳ありませんが私のせいです。
問題は、クリックしている ListView ではなく、ListView 内の各項目を表すビューであると思います。だからこれを試してください:
View itemView = lv.findViewTraversal(id_of_your_view);
itemView.setClickable(false);
これがうまくいくことを願っています。
setFocusable
/setEnabled
メソッドを試しましたか?if(!mWorking){
mWorking = true;
//do the job...
}
これがお役に立てば幸いです