Android Studio、Android javaを使って、初めてのモバイルアプリを作成しています。
【実現したいこと】
DBに文字列が登録されている状態で(実装済み)、以下の画面があります。
「再生開始」ボタンを押下すると、
登録された文字列が、先頭から5文字ずつ順番にTextviewに切り替え表示されるようにしたいです。
ユーザーがその都度ボタンを押下して切り替えるのではなく、自動的に切り替えさせたいです。
例えば、
登録されている文字列:「あああああいいいいいうううううえええええおおおおお」の場合、
ユーザーがボタンを押下
↓
あああああ を表示
↓
n秒後、いいいいい に切り替え表示
↓
さらにn秒後、ううううう に切り替え表示
↓
さらにさらにn秒後、えええええ に切り替え表示
以下続く...
【わからないこと】
「ユーザーがその都度ボタンを押下して切り替えるのではなく、
自動的に切り替えさせたい」
のですが、その実装方法がわかりません。
どのような言葉で検索すれば良いか自体がわからないため、
こんな単語で検索すれば良いですとか、このメソッドを使えば良い、
というのをご助言頂きたく思います。
よろしくお願いいたします。
参考(現在のJavaファイル)
java
1 2package com.example.textapp; 3 4import androidx.appcompat.app.AppCompatActivity; 5 6import android.content.Intent; 7import android.os.Bundle; 8import android.view.View; 9import android.widget.Button; 10import android.widget.TextView; 11 12import java.util.HashMap; 13import java.util.Map; 14 15public class ScTextPlay extends AppCompatActivity implements View.OnClickListener{ 16 17 //再生状態 1=停止状態、2=再生状態 18 private int state=1; 19 private Text text; 20 private StringBuilder sb = new StringBuilder(); 21 22 @Override 23 protected void onCreate(Bundle savedInstanceState) { 24 super.onCreate(savedInstanceState); 25 setContentView(R.layout.activity_sc_text_play); 26 27 //「再生」ボタンのオブジェクトを取得とイベントリスナ登録 28 Button playButton = (Button)findViewById(R.id.playButton); 29 playButton.setOnClickListener(this); 30 31 //リセットボタンのオブジェクトを取得し、リスナ登録する 32 Button resetButtonPlay = (Button)findViewById(R.id.resetButtonPlay); 33 resetButtonPlay.setOnClickListener(this); 34 35 //インテントを取得(呼び出し元から封筒を受け取る) 36 Intent intent = getIntent(); 37 38 //インテントからBundleを取得(封筒を開封する) 39 Bundle bundle = intent.getExtras(); 40 41 //Bundleから「TEXT_DATA」というキーで設定しているTextオブジェクトを取得 42 text = (Text)bundle.getSerializable("TEXT_DATA"); 43 44 ((TextView)findViewById(R.id.textViewPlay)).setText(text.getText()); 45 sb.append(text.getText()); 46 } 47 48 @Override 49 public void onClick(View v) { 50 //押されたボタンのIDを取得 51 int id = v.getId(); 52 Button playButton = (Button)findViewById(R.id.playButton); 53 Button resetButtonPlay = (Button)findViewById(R.id.resetButtonPlay); 54 55 switch (id) { 56 case R.id.playButton: //「再生開始」ボタンを押した場合 57 if(state == 1){//停止状態の場合、再生開始 58 state = 2; 59 //ボタン名変化 60 playButton.setText(getResources().getString(R.string.play)); 61 //リセットボタン有効化 62 resetButtonPlay.setEnabled(true); 63 getSplitPosition(sb); 64 65 }else{//再生状態の場合、再生停止 66 state = 1; 67 //ボタン名変化 68 playButton.setText(getResources().getString(R.string.stop)); 69 //リセットボタン無効化 70 resetButtonPlay.setEnabled(false); 71 } 72 break; 73 74 case R.id.resetButtonPlay: //「リセット」ボタンを押した場合 75 76 break; 77 } 78 } 79
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/23 12:28
2020/08/23 12:50
2020/08/23 13:14
2020/08/24 00:22