#android
#Android
Вопрос:
у меня есть экран, на котором отображается некоторая информация о версии. на экране нет элемента управления. я хочу завершить это действие, когда я нажимаю на экран. кто-нибудь может мне помочь, плз…
Ответ №1:
Сделайте так, чтобы ваша активность реализовывала OnTouchListener:
public class MyActivity extends Activity implements OnTouchListener{
// All your code goes here
@Override
public boolean onTouch(View arg0, MotionEvent arg1) {
this.finish();
return false;
}
}
Комментарии:
1. @Viktor да, у onTouchEvent обманчивое название :/
2. Нет необходимости внедрять прослушиватель. onTouchEvent работает без этого.
3. @Pennypacker смотрите мой комментарий к rekaszeru
4. @Aleadam Это все правда. Но, учитывая сценарий, описанный в вопросе, где действие не содержит ничего, кроме простого представления без элементов управления, оно работает просто отлично и немного короче .) Не понимаю, почему я сегодня утром такой умник. Извините, но сегодня я ничего не могу с этим поделать 🙂
5. я пробовал это. но это не working.so вместо этого я дал событие щелчка для макета.
Ответ №2:
Вы могли бы переопределить onTouchEvent
метод вашей активности, чтобы завершить ее:
@Override
public boolean onTouchEvent(MotionEvent event)
{
this.finish();
return true;
}
Комментарии:
1.К вашему сведению, со справочной страницы активности:
public boolean onTouchEvent (MotionEvent event)
Вызывается, когда событие сенсорного экрана не было обработано ни одним из представлений под ним. Это наиболее полезно для обработки событий касания, которые происходят за пределами вашего окна, где нет представления для их получения. Итак, если какое-либо представление обрабатывает его, этот метод может никогда не вызываться2. Вы полностью правы, я выбрал эту реализацию, потому что @seethalakshmi сказал, что в этом действии нет элементов управления, только некоторый текст, отображаемый в этом действии, и я предположил, что таким образом
OnTouchListeners
не будет реализовано ранее.
Ответ №3:
Переопределите onTouchEvent в вашей активности.
@Override
public boolean onTouchEvent (MotionEvent e) {
this.finish();
return false;
}