プログレスダイアログが1.2分表示された後、toastでメッセージ表示させようかと思ったのですが、うまくいきません。一番下に主なコードを示しています。
if (target != null){ Toast.makeText(MyThread.this, "遅延ボタンが押されました", Toast.LENGTH_LONG).show(); target.dismiss();
if(target ! = null)の中が数秒立った後の処理内容だと思うのですが、
Toast.makeText(MyThread.this, "遅延ボタンが押されました", Toast.LENGTH_LONG).show();
のところが
can not resolve Toast.makeText(MyThread.this,"・・・)
というエラーが起きていました。
toastが間違えているのでしょうか。
いままで
Toast.makeText((クラス名).this, "遅延ボタンが押されました", Toast.LENGTH_LONG).show();
で大丈夫だと思っていたので、混乱します。
エラーの解除方法を教えてください。
//MainActivity.java package com.distractionapp.restrict.tienn; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.view.*; import android.app.ProgressDialog; import android.widget.Button; import android.widget.Toast; import javax.xml.transform.Result; public class MainActivity extends Activity { public ProgressDialog progressDialog; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button mPolicyAutoGrantedBtn = (Button) findViewById(R.id.btn); mPolicyAutoGrantedBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { ProgressDialog progressDialog; progressDialog = new ProgressDialog(MainActivity.this); progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); progressDialog.setCancelable(true); progressDialog.setTitle("処理中"); progressDialog.setMessage("計算中です。しばらくお待ちください。"); progressDialog.show(); MyThread myThread = new MyThread(); myThread.target = progressDialog; myThread.start(); } });} }
//MyThread.java package com.distractionapp.restrict.tienn; import android.app.ProgressDialog; import android.widget.Toast; /** * Created by programming on 2018/04/27. */ public class MyThread extends Thread { public ProgressDialog target; public void run(){ try{ this.sleep(5000); } catch(InterruptedException e){ } if (target != null){ Toast.makeText(MyThread.this, "遅延ボタンが押されました", Toast.LENGTH_LONG).show(); target.dismiss(); } } }
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。