2009-09-03 13 views
0

Androidアプリ開発には初めてです。Androidリストビュー:mouseoverアクション

リストボックスのマウスオーバーアクションを特定するにはどうすればよいですか?特定のセルの上にマウスを置くと、そのセルを強調表示したり、背景色を変更したりします。

これについてお手伝いしてください。

答えて

2

私が知っている少なくとも1つのAndroidのMouseOverという概念はありません。ユーザー対話はハードウェア/仮想キーボードとタッチスクリーンを通じて行われます。

ListViewは自動的に現在の選択範囲をハイライト表示しますので、上下のDPadキーを使用すると、効果が得られます。

0

私はこれが古いと知っていますが、私のクエリはこのオリジナルの投稿に戻っていましたので、ここでそれを共有したかったのです。

あなたのセレクタでstate_hoveredを実装することは、マウスオーバーイベントのリストビューでは機能しません。

このイベントは、カスタムアレイアダプタを使用して実現できます。 *これは、独自のセレクタとArrayAdapterの作成方法を理解していることを前提としています。そうでなければ、他のスタックオーバーフローポストでそれらを見つけることができます。

  1. 独自のアレイアダプターを作成します。
  2. は、アダプタに
  3. オーバーライドをView.OnHoverListenerを実装する「onHover'method:

@Override public boolean onHover(View arg0, MotionEvent arg1) { int ev = arg1.getActionMasked(); switch (ev) { case MotionEvent.ACTION_HOVER_ENTER: arg0.setHovered(true); arg0.setSelected(true); return true; case MotionEvent.ACTION_HOVER_EXIT: arg0.setHovered(false); arg0.setSelected(false); return true; } return false; }