2015-02-24 3 views
0

Я пытаюсь захватить onTouchEvent в полностью базовом приложении Android Wear, использующем заглушку просмотра часов. OnTouchEvent, похоже, не вызван MainActivity.onTouchEvent Override в Android Wear

Если я поставил перерыв в функции onTouchEvent ниже, он никогда не попадает в точку останова.

public class MainActivity extends Activity { 

private TextView mTextView; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    final WatchViewStub stub = (WatchViewStub) findViewById(R.id.watch_view_stub); 
    stub.setOnLayoutInflatedListener(new WatchViewStub.OnLayoutInflatedListener() { 

     public void onLayoutInflated(WatchViewStub stub) { 

      mTextView = (TextView) stub.findViewById(R.id.text); 
     } 
    }); 

} 

@Override 
public boolean onTouchEvent(MotionEvent ev) { 
    return super.onTouchEvent(ev); 
} 

}

+0

try dispatchTouchEvent – pskink

+0

dispatchTouchEvent вызывает вызов, но создает проблему деактивации всех событий касания. Так, например: @Override public boolean dispatchTouchEvent (MotionEvent ev) { return super.onTouchEvent (ev); }} Отключает все события прикосновения, такие как щелчки на кнопках, проведите по экрану и т. Д. – user2150424

+0

Вот почему вы не должны использовать методы Activity, но, скорее, такие как showTouchEvent и onInterceptTouchEvent – pskink

ответ

0

При создании носимого приложения для dispatchTouchEvent(MotionEvent ev) будет запускаться. попробуйте перекрывая dispatchTouchEvent(MotionEvent ev) следующим образом:

@Override 
public boolean dispatchTouchEvent(MotionEvent ev) { 
    Log.d("debug", "dispatchTouchEvent"); 
    return super.dispatchTouchEvent(ev); 
} 

Я надеюсь, что это поможет.

Смежные вопросы