Столкнулся с проблемой, при использовании методов onTouch() и onClick(). Дело в том, что, если эти оба методы определить в одном классе - то onTouch() не срабатывает!
public class GridViewAdapter extends ArrayAdapter<TaskName> implements View.OnTouchListener, View.OnClickListener{
public GridViewAdapter(Context context, ArrayList<TaskName> taskNames){
super(context, 0 , taskNames);
this.context = (MainGridActivity) context;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null){
convertView = context.getLayoutInflater().inflate(R.layout.grid_view_item, null);
}
convertView.setTag(position);
convertView.setOnTouchListener(this);
convertView.setOnClickListener(this);
taskName = getItem(position);
nameView = (TextView) convertView.findViewById(R.id.task_name);
nameView.setText(taskName.getTaskName());
countView = (TextView) convertView.findViewById(R.id.count_task);
countView.setText(String.valueOf(taskName.getTaskNameId()));
return convertView;
}
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
if (motionEvent.getAction() == MotionEvent.ACTION_DOWN) {
int pos = Integer.valueOf(view.getTag().toString());
Log.d(LOG, getItem(pos).getTaskName());
Log.d(LOG, String.valueOf(getItem(pos).getTaskNameId()));
selectedItemText = getItem(pos).getTaskName();
selectedItemId = getItem(pos).getTaskNameId();
}
return false;
}
@Override
public void onClick(View view) {
Toast.makeText(context, "Click", Toast.LENGTH_SHORT).show();
}
}
Это класс адаптера, для GridView!
В фрагменте я устанавливаю GridView контекстное меню для удаления элемента ! Именно для определения того,который элемент удалять и служит onTouch(). В фрагмент передается значение элемента на который совершено касание, соответственно если на нем вызывается контекстное меню для удаления - он удаляется!
Мне нужно совершить переход на другое активити после касания на элемент GridView - от для этого и использую onClick().
Не могу понять где я натупил и в чем проблема! Как мне исправить данную проблему ?
Это моя первая практика android и может что-то делаю не правильно, приму любую конструктивно критику и совет!!
Спасибо!!