제목처럼 거창한것은 아니지만 쌩초보시절(지금도 초보이지만) 현재 나타나있는 Toast를 죽이는 방법을 몰라 헤맸던 경험이 있다. 물론 죽이는 방법이 있지만 매번 Toast를 실행할때마다 죽이기는 귀찮으니 하나의 메소드에서 관리해보자..
public static Toast mToast; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.main); mToast = Toast.makeText(this, "", Toast.LENGTH_LONG); makeToast("테스트!!", Toast.LENGTH_LONG); } private void makeToast(final String text, final int duration) { mToast.cancel(); mToast.setText(text); mToast.setDuration(duration); mToast.show(); }
Toast는 private static으로 하나의 Toast만을 이용한다. 같은 녀석들을 재활용 함으로써 일일이 죽이고 살릴 필요가없다. onCreate()에서는 Toast를 초기화 시켜줘서 NullPointException이 발생하지 않도록한다.