В моей деятельности У меня есть список просмотров, для этого у меня есть и onItemClickListener
, и onTouchListener
. Когда я нажимаю строку в моем методе list.OnTouch
, вызываемом для MotionEvent
Down
и Up
. Для обоих случаев я возвращаю «ложь», так как я не хочу обрабатывать событие касания, но хочу только наблюдать за ним. На данный момент я ожидаю, что onItemClick
должен был позвонить, но этого не происходит. Но если я перемещаю свой список, то вызывается событие перемещения «OnTouch
», и после этого, когда я нажимаю элемент, он запускается. Итак, почему мой itemClick
не запускался изначально и почему он срабатывал после перемещения в режиме просмотра списка?OnItemClickListener не запускается, если у меня есть onTouchListener, если я не прокручиваю?
код:
public class MainActivity extends Activity {
Handler rHandler;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ListView lv = (ListView) this.findViewById(R.id.mylist);
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
System.out.println("An Item is clicked not touched");
}
});
rHandler = new Handler(this,lv);
}
}
Я заселение пользовательских ListView лв в адаптере и этот список строка состоит TextViews и imageViews.Also У меня есть некоторые OnClick события на imageViews.So, я попытался андроид: фокусируемый и андроид : focusableInTouchMode устанавливается в false в imageView. Но не удалось.
В Handler.java
public class Handler implements View.OnTouchListener {
public Handler(Context mContext,ListView lv) {
lv.setOnTouchListener(this);
}
@Override
public final boolean onTouch(View view, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_MOVE: {
System.out.println(" Motion ... ");
break;
}
case MotionEvent.ACTION_DOWN: {
System.out.println(" Motion Down ");
break;
}
case MotionEvent.ACTION_CANCEL:
case MotionEvent.ACTION_UP: {
System.out.println(" Motion Up ");
break;
}
}
System.out.println("I am returning false");
return false;
}
}
Мой OnItemClick пришел к активным, как только я нажимаю изображение OnClick события или если я пошевелил list.Looks очень странно !!!
опубликовать фрагмент коды .. –