起動時の一度はタッチイベントを発生させることができていますが,While(true)で囲むとアプリは起動されるっぽいのですが白い画面のまま動きません.
ファイルの読み込み,型変換,タッチイベントの発生をループさせたいです.
AndroidStudio3.3.1を使用しています.
kotlin
1import android.os.Bundle 2import android.os.Handler 3import android.os.SystemClock 4import android.support.v7.app.AppCompatActivity 5import android.util.Log 6import android.view.GestureDetector 7import android.view.MotionEvent 8import android.widget.Toast 9 10 11 12 13 14 15class MainActivity:AppCompatActivity() { 16 internal var mGestureDetector: GestureDetector? = null 17 override fun onCreate(savedInstanceState: Bundle?) { 18 super.onCreate(savedInstanceState) 19 setContentView(R.layout.activity_main) 20 while(true) { 21 Handler().postDelayed(Runnable { 22 //assetsファイル読み込み 23 var a = getAssets().open("x測定値.txt").reader(charset = Charsets.UTF_8).use { it.readText() } 24 var b = getAssets().open("y測定値.txt").reader(charset = Charsets.UTF_8).use { it.readText() } 25 Log.d("val-a", a) 26 27 //読み込み数値の型変換 28 var message1: Float = a.toFloat() 29 var message2: Float = b.toFloat() 30 31 // タップなしでonTouchEventを発生させる 32 // デバッグなどで使用 33 val downTime = SystemClock.uptimeMillis() 34 val eventTime = SystemClock.uptimeMillis() + 100 35 val event = MotionEvent.obtain( 36 downTime, eventTime, MotionEvent.ACTION_DOWN, message1, message2, 0 37 ) 38 this.onTouchEvent(event) 39 }, 5000) 40 } 41 42 } 43 44 override fun onTouchEvent(event: MotionEvent): Boolean { 45 46 val posX = event.x 47 val posY = event.y 48 49 Toast.makeText( 50 application, 51 "タップしたョ\n" 52 + "座標( X:" + posX.toString().toString() 53 + ", Y:" + posY.toString().toString() + ")", 54 Toast.LENGTH_LONG 55 ).show() 56 57 return super.onTouchEvent(event) 58 } 59 } 60 61
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/02/22 16:18
2019/02/22 23:00
2019/02/23 08:36
2019/02/24 08:24
2019/02/25 03:14