showDialog步骤 deprecated

showDialog方法 deprecated

     发现敲入showDialog方法废弃或者过时真的查不到什么,直接打了showDialog deprecated上去,英文就英文吧。


     不愧是*网站(好风趣的名字),令我惊讶的是,这个提问在一年前就有了。老外的东西还是老外快一点。


     参考两个帖子http://*.com/questions/11220820/the-method-showdialogint-from-the-type-activity-is-deprecated-in-android

和http://*.com/questions/10285047/showdialog-deprecated-whats-the-alternative/10285062#10285062

  

    其实查官方Api的时候就能看到。 showDialog(int id)是在Api level 1 添加的方法。Api level 13(Honeycomb 3.0) 时方法就废弃了。在程序里面调用Dialog使用新的DialogFragment类代替FragmentManager(既然知道这个代替了,就自己查查api吧,看怎么用)。通过Android的兼容包,在旧平台也是可用的。


      Fragment(Fragment代表在一个Activity里面用户接口的一个行为或者一部分)显示一个对话框窗口并且位于Activity窗口的顶层,其中这样的Fragment就包括了Dialog类,正确的显示基于fragment的状态。控制对话框的show,hide, dismiss 应该通过Api的调用而不是直接调用对话框。


     问底一下的话,为什么废弃?接下来他还回答了引用了别人的帖子

Android DialogFragment vs Dialog

      为什么用一个单独的DialogFragment而不用一个简单的Dialog,这不是很荒谬么。看完Api文档里面的介绍DialogFragment的代码一大堆,使用一个有Yes或者No的按钮只需要AlertDialog builder 创建一个AlertDialog就行了,没必要编那么多。

     在Fragment中处理事件有很多种方法,但我只需要简单通过构造器把定义的消息Handler放进DialogFragment中,然后再把消息准确的与各种点击相响应。

private Message okMessage;
...
okMessage = handler.obtainMessage(MY_MSG_WHAT, MY_MSG_OK);
public void onClick(.....
    if (which == DialogInterface.BUTTON_POSITIVE) {
        final Message toSend = Message.obtain(okMessage);
        toSend.sendToTarget();
    }
 }
outState.putParcelable("okMessage", okMessage);
if (savedInstanceState != null) {
    okMessage = savedInstanceState.getParcelable("okMessage");
}

后面代码的意图我不是很懂。


     以前小学一下,这段时间要用到Android就重新学了一下,当发现手机一连上之后Eclipse可以直接编译到手机运行时很激动。


        世界也在变,时代也在变,人在不,很多方法废弃,虽然用的是吴亚峰老师的书,2012年一月。我的手机从2.2刷到2.3再刷4.0.


        发现很搞笑的东西,之前初学时是观看Mars老师的视频,然后我用周末的时间用来学,后面太多事情就放了放,发现他坚持了好久,有些时候还是凌晨的,后面到53集断了,进来光顾他论坛又发现开始更新,而且还在淘宝卖东西了。当时马士兵老师也没有看好Android,刚起步,放远一下开源的东西,加上比苹果更亲民的价格,确实苹果价格虽然“高”,是有人买得起,房子也是这个道理。应该是越来越火的。如果Nokia当年像HTC早点搭上这班车,可能还是霸主,也不用卖楼。

     

      不过还是那句,手机上用自己写点代码能在自己的手机展示很多东西,It is

amazing!