2014-01-31 1 views
0

У меня есть TableRow с пользовательским фоном. Когда я нажимаю и удерживаю палец вниз, а затем вытягиваюсь из строки и отпускаю, не выбирая ничего (и, таким образом, генерируя событие щелчка), темные линии выше и ниже TableRow не перерисовываются.Событие Android OnTouchRelease?

Что я должен слушать или как обновить эту таблицу, чтобы строки были перерисованы, если обнаружено касание, но выбор не производится?

Спасибо всем,

Tony

ответ

0

Если вы хотите, чтобы обнаружить события прикосновения (для Realease), может обратиться MotionEvent в Android, вы должны переопределить onTouchEvent (MotionEvent е)

Вы будете получить события для касания, а затем может соответствовать действие события (event.getAction) в ACTION_DOWN и ACTION_UP (когда сенсорный выпущен)

Eg. 
    public boolean onTouch(View v, MotionEvent e) { 
     if (e.getAction() == MotionEvent.ACTION_UP) { 
      //can check if selection is made or not and add function accordingly 
      return true; 
     } else { 
      return false; 
     } 
    } 

Сколько столбцов у вас в таблице, в зависимости от вашего требования, вы можете найти реализацию ListView и пользовательского адаптера с помощью проверки notifySetDataChanged ...: http://www.vogella.com/tutorials/AndroidListView/article.html

+0

Спасибо. Мне потребовалось некоторое время, чтобы выяснить, где это реализовать, но это действительно то решение, которое мне нужно. Спасибо. – TonyMLake

+0

Thumbs-up для изучения! рад, что это помогло вам – user2450263