Adaptarで埋めるカスタムListViewを取得しました。アプリケーション中に、リスト内のアイテムはステータスに応じて変化するため、ImageViewを次のように更新しています。
mStatusIcon = (ImageView) findViewById(R.id.imgStatusIcon);
mStatusIcon.setImageResource(R.drawable.icon_cancel);
ここまでは順調ですね。問題は、レイアウトの特定の部分にある種のフォーカス/ホバー状態が必要なことです。レイアウトxmlでを設定しましたOnTouchListener()
。View mHitfield
関連するすべてのアクションをキャッチできます:ACTION_MOVE
、、、。ACTION_DOWN
ACTION_UP
ACTION_CANCEL
問題は、私ImageView mStatusIcon
が次の行動を変えるとき、私が捕まえるのは常にであるということACTION_CANCEL
です。
View mHitfield = (View) findViewById(R.id.outerShape);
mHitfield.setOnTouchListener(new OnTouchListener()
{
@Override
public boolean onTouch(View v, MotionEvent event)
{
int currentAction = event.getAction();
switch(currentAction)
{
case MotionEvent.ACTION_DOWN:
case MotionEvent.ACTION_MOVE:
// if I comment out these lines I keep receiving all actions
// if I don't, I only receive ACTION_DOWN followed by ACTION_CANCEL
mStatusIcon.setImageResource(R.drawable.icon_download_normal);
break;
case MotionEvent.ACTION_UP:
case MotionEvent.ACTION_CANCEL:
// if I comment out these lines I keep receiving all actions
// if I don't, I only receive ACTION_DOWN followed by ACTION_CANCEL
mStatusIcon.setImageResource(R.drawable.icon_download_hover);
break;
}
return false;
}
});
誰かが私にこれが起こっている理由とこれを回避する方法があるかどうかを説明できますか?