2014年7月31日木曜日

非同期通信 → コールバック実装 → Toastを表示する(ここでツマッタのでメモ)


非同期通信で画像を登録



コールバックonCompleteきた



Toast表示 !!!
ん?あれ表示されないし、intentも飛ばされない…orz



android特有でUIスレッド以外のスレッドではUIを操作することはできないことは、前調べた時に知っていたので handler.post() を使用して投げようと思ったところ…
UIのスレッドを特定すればいいのかわからず右往左往 (*ω*;)

調べてみたところ、こんな関数を発見!!

Activity#runOnUiThread()



UIのスレッドに投げてくれる便利な関数がActivityに用意されていました。
さっそく試してみる…


getActivity().runOnUiThread( new Runnable(){
         @Override
         public void run() {
               // TODO Auto-generated method stub
                  Toast.makeText(
                      getActivity(),
                      R.string.regist_complete,
                      Toast.LENGTH_SHORT).show();
                  Intent intent = new Intent( getActivity(), ******** );
                  getActivity().startActivity(intent);
          }
});



やったーーーー表示された!
遷移した!!\(^ω^)/

めでたしめでたいし。やっと次へ進めます。

以上です(・ω・)


■参考サイト
http://visible-true.blogspot.jp/2011/11/activityrunonuithreadrunnable.html


ほんと助かりました。アリガトウございます m(。_。)m

0 件のコメント:

コメントを投稿