前提・実現したいこと
EditTextに文字入力してcopyボタンを押す → TextView1に文字をコピー → 1秒後 → TextView2にも文字コピー。
ということがしたいです。
実現する方法があればご教示いただけると幸いです。
発生している問題・エラーメッセージ
Thread.sleep(1000)を使用しましたが上手くいきませんでした。
copyボタン押す→ 1秒後 → TextView1とTextView2に同時に文字が表示される。
という風になってしまいます。
該当のソースコード
MainActivity.java
Java
1import androidx.appcompat.app.AppCompatActivity; 2import android.os.Bundle; 3import android.view.View; 4import android.widget.TextView; 5 6public class MainActivity extends AppCompatActivity { 7 8 @Override 9 protected void onCreate(Bundle savedInstanceState) { 10 super.onCreate(savedInstanceState); 11 setContentView(R.layout.activity_main); 12 } 13 14 public void btnOnClick(View view) throws InterruptedException { 15 TextView edit = findViewById(R.id.editText); 16 TextView txt1 = findViewById(R.id.txt1); 17 TextView txt2 = findViewById(R.id.txt2); 18 19 String txt0 = edit.getText().toString(); 20 txt1.setText(txt0);// ここはcopyボタン押下後すぐに表示させたい 21 Thread.sleep(1000); 22 txt2.setText(txt0);// ここは1秒後に表示させたいです 23 } 24}
activity_main.xml
xml
1<?xml version="1.0" encoding="utf-8"?> 2<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:orientation="vertical" android:layout_width="match_parent" 4 android:layout_height="match_parent"> 5 6<EditText 7 android:id="@+id/editText" 8 android:layout_width="wrap_content" 9 android:layout_height="wrap_content"/> 10 11 <Button 12 android:layout_width="wrap_content" 13 android:layout_height="wrap_content" 14 android:text="copy" 15 android:onClick="btnOnClick"/> 16 17<TextView 18 android:id="@+id/txt1" 19 android:layout_width="wrap_content" 20 android:layout_height="wrap_content" /> 21 22 <TextView 23 android:id="@+id/txt2" 24 android:layout_width="wrap_content" 25 android:layout_height="wrap_content" /> 26 27</LinearLayout>
試したこと
上記にも書きましたが
Thread.sleep(1000)を使用しましたが上手くいきませんでした。
補足情報(FW/ツールのバージョンなど)
AndroidStudio 4.0
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。