Androidで!ユーザー入力(タッチイベント、キーボードイベント)を取得する必要があります。方法はありますか?Javaコードでは、方法がないようです。ネイティブコードはどうですか?
5 に答える
In java code, It seems there is no way.
=>申し訳ありませんが、ユーザーが行ったアクションを検出してアプリケーションで遊ぶ方法があります。
いくつかの例:
タッチ用に使用できます
mView.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
//show dialog here
return false;
}
});
YourActivity が OnTouchListener を実装している場合、イベントとユーザーが画面上で触れた場所を取得できます。
public class YourActivity extends Activity implements OnTouchListener {
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
System.out.println("I touched: "+event.getX()+"-"+event.getY());
}
}
実際、私はあなたが正確に何を意味するのかわかりません。何かに触れたときの EditText または一般的なテキスト入力を意味しますか?
テキストを意味する場合は、TextWatcher http://developer.android.com/reference/android/text/TextWatcher.htmlを使用できます
ビューを直接意味する場合は、上記のように OnTouchListener を使用できます。
https://developer.android.com/reference/android/app/Activity.html#onUserInteraction()
Activity
public void onUserInteraction ()
API レベル 3 で追加されました。キー、タッチ、またはトラックボール イベントがアクティビティにディスパッチされるたびに呼び出されます。アクティビティの実行中にユーザーが何らかの方法でデバイスと対話したことを知りたい場合は、このメソッドを実装します。このコールバックと onUserLeaveHint() は、アクティビティがステータス バーの通知をインテリジェントに管理できるようにすることを目的としています。具体的には、活動が通知をキャンセルする適切な時期を決定するのを支援するためです。
アクティビティの onUserLeaveHint() コールバックへのすべての呼び出しには、onUserInteraction() への呼び出しが伴います。これにより、通知ペインをプルダウンしてそこにあるアイテムに触れるなど、関連するユーザー アクティビティがアクティビティに確実に通知されます。
このコールバックは、タッチ ジェスチャを開始するタッチ ダウン アクションに対して呼び出されますが、その後のタッチ移動およびタッチアップ アクションに対しては呼び出されない場合があることに注意してください。