sdk自帶的例子Bluetoothchat運行出錯

sdk自帶了很多的例子,方便我們學習使用。

最近做東西用到了藍牙,於是就去sdk裏找了裏面Bluetoothchat的例子,好好學習了一番。

感覺人家寫的確實不錯,但是,一運行就鬱悶了。程序在打開藍牙後居然異常關閉了。

網上查了好久都沒有說官網的例子有錯的。

沒辦法,只好自己調試了。

原來是BluetoothChat的兩個方法出錯了。

 private final void setStatus(int resId) {
        final ActionBar actionBar = getActionBar();
        actionBar.setSubtitle(resId);

    }

    private final void setStatus(CharSequence subTitle) {
        final ActionBar actionBar = getActionBar();
        actionBar.setSubtitle(subTitle);
    }

查看了一下getActionBar()的文檔,解釋如下:

ActionBar android.app.Activity.getActionBar()

public ActionBar getActionBar ()

Retrieve a reference to this activity's ActionBar.

Returns
  • The Activity's ActionBar, or null if it does not have one. 
原來是這裏出現了空指針。。。。
修改了一下:
private final void setStatus(int resId) {
        final ActionBar actionBar = getActionBar();
        if(actionBar!=null){
        actionBar.setSubtitle(resId);
        }
    }


    private final void setStatus(CharSequence subTitle) {
        final ActionBar actionBar = getActionBar();
        if(actionBar!=null){
        actionBar.setSubtitle(subTitle);
        }
    }
在運行,程序就沒問題了。
看來,不能迷信權威啊。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章