質問

スワイプ中にギャラリービューに現在の画像が表示される位置を取得するにはどうすればよいですか?

役に立ちましたか?

解決

ですから、アダプタービューの動作方法のために、それは不可能だと思います。基本的に、アダプタービューのすべての呼び出しが適切に動作するためにUIスレッド上にある必要があります。アニメーションは間違いなくUIスレッドにあります。したがって、彼らは同じスレッドで同時に起こることができないので、スワイプアニメーションが終わるまで実際に(正確に)位置を読むことはできません。

Adapter getSelectedItemposition()に他のスレッドで尋ねると、現在の位置が得られるかもしれませんが、UIスレッドが排他的ロックをチェックせずに値を更新すると推測するので、しばらく古くなるかもしれません。

他のヒント

ギャラリービューで画像をスワイプしているときにポジションを取得できます。ギャラリービューを上書きします setOnItemSelectedListener.

そのリスナーからの2つの方法があります

avatar_gallery.setOnItemSelectedListener(new OnItemSelectedListener() {
    public void onItemSelected(AdapterView<?> parent, 
                                View view, 
                                int position, 
                                long id){                  
        Log.v("Selected", ""+position);
    }
    @Override
    public void onNothingSelected(AdapterView<?> parent){
    }
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top