0

でカスタムを使用しようとしていますToastAsyncTask、残念ながら直接使用できないため、こちらで検索しました。カスタムトーストのメソッドを配置できる抽象クラスの作成に関する投稿を読みました。しかし、私onPostexecute()は私のAsyncTask.

ToastClass.java

public class ToastClass extends Activity
{
     public void ViewToast(String toast_msg){

          Typeface tfR= Typeface.createFromAsset(getAssets(), "Gothic_Regular.TTF");
          LayoutInflater inflater = getLayoutInflater();
          View layouttoast = inflater.inflate(R.layout.toast_bg, (ViewGroup)findViewById(R.id.toastAttribute));
          TextView msg = ((TextView) layouttoast.findViewById(R.id.txt_toast));
          msg.setTypeface(tfR);
          msg.setText(toast_msg);
          msg.setTextSize(TypedValue.COMPLEX_UNIT_PX,16);
          Toast mytoast = new Toast(getBaseContext());
          mytoast.setView(layouttoast);
          mytoast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);
          mytoast.setDuration(Toast.LENGTH_SHORT);
          mytoast.show();

     }
}

ToastActivity.java

public abstract class ToastActivity extends Activity{

     protected void ViewToast(String toast_msg){

         Typeface tfR= Typeface.createFromAsset(getAssets(), "Gothic_Regular.TTF");
         LayoutInflater inflater = getLayoutInflater();
         View layouttoast = inflater.inflate(R.layout.toast_bg, (ViewGroup)findViewById(R.id.toastAttribute));
         TextView msg = ((TextView) layouttoast.findViewById(R.id.txt_toast));
         msg.setTypeface(tfR);
         msg.setText(toast_msg);
         msg.setTextSize(TypedValue.COMPLEX_UNIT_PX,16);
         Toast mytoast = new Toast(getBaseContext());
         mytoast.setView(layouttoast);
         mytoast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);
         mytoast.setDuration(Toast.LENGTH_SHORT);
         mytoast.show();

     }
}

そして、私はそれをこのように呼んでいます

ToastClass toast = new ToastClass();
toast.ViewToast(msg);

正しいことを教えてもらえますか?

4

0 に答える 0