Your content must have a ListView whose id attribute is ‘android.R.id.list’ の罠

3連休、日がな一日を個人開発のアプリブラッシュアップに使っている私です。
公開しているAndroidアプリ、TwitMorseにSwipeRefreshLayout(リストを指で引っ張ると更新するやつ)を加えようと、がんばって何度もNullPointerExceptionにはまったりしていました。
今日はエラーログからある問題を解決したのでメモします。

とあるListActivityクラスでsetContentView(R.layout.activity_main)をしたところ、

Your content must have a ListView whose id attribute is 'android.R.id.list'

id:listのものがないよ!と怒られてFatalを起こしまくっていました。
レイアウトファイルは

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="jp.sub.takelab.twitmorus.MainActivity" >

    <android.support.v4.widget.SwipeRefreshLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/swipe_refresh_widget"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <ListView
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/list"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />

    </android.support.v4.widget.SwipeRefreshLayout>

</RelativeLayout>
<ListView
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/list"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />

あるし!!
しかし何をやってもデバッガからは「ない、null」と怒られてしまいます。
そこでSwipeRefreshLayoutの実装に成功したプロジェクトをよーくみてみたところ

<ListView
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@android:id/list"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />

↑成功したやつ。
違いわかりますか?

android:id=”@android:id/list”android:id=”@+id/list”
です。

Your content must have a ListView whose id attribute is ‘android.R.id.list’

android:id=”@android:id/list”

これに書き換えた結果成功しました。
一見違いがわからないので分かるまでに実は3週間くらいかかりました。
うまくいかない時は成功例と失敗例の違いを見るとわりと早めに原因が特定できるかもしれません。