2016-03-23 9 views
6

マイResultReceiverサブクラス:分割可能なCREATORフィールドがありませんか?

private class MyReceiver extends ResultReceiver { 
    public MyReceiver() { 
     super(null); 
    } 
    @Override 
    protected void onReceiveResult(int resultCode, Bundle data) { 
     // yada yada 
    } 
} 

は、Android Studioは、 "行方不明Parcelable CREATORフィールド" についてグラグラをスローします。しかし、私のサブクラスでは、パーセルにパックする必要がある新しいメンバーはまったく導入されないことがわかります。 Androidスタジオは過度に妄想していますか、または私は本当にCREATORフィールドを実装する必要がありましたか?今の

、私はこれを追加している:

@SuppressLint("ParcelCreator") 

をし、問題が消えるが、私は、私は何かが欠けていないよ確認します。

+0

Parcelableクラスを提供できますか? –

+0

あなたは何を意味するのか分かりません。 [Parcelable](http://developer.android.com/reference/android/os/Parcelable.html)はインターフェイスです。それを実装するクラス(MyReceiverはResultReceiverを拡張しているためにこれを行います)は、指定されたオブジェクトの新しい型をParcelからアンパックするために使用できるCREATORフィールドを定義することが期待されます。 –

+0

私はParcelable –

答えて

3

作成可能なクリエイターは、シリアル化されている特定のクラスにタイプされているため、安全で完全なものにするためには、パーセルできるクラスごとに適切な作成者が必要です。

+0

で見つけることができます。ああ、それはタイピングについてです。つまり、これは、スーパークラスをチェーンするだけのことをするCREATORを作成することで、lintを幸せにすることができることを意味します。これは、Parcelableを実装するものをサブクラス化するたびに発生しますか?たぶん、今まで私はちょうど幸運だったでしょう。 –

+0

私はParcelableを頻繁に使っていませんが、Android Studioとビルドツールの新しいバージョンでは常に新しいチェックとクイックフィックスが行われることは間違いありません。スタブコードでParcelableを実装しているクラスのクリエイターに関する警告をすばやく修正することができます。 –

+0

ええ、私はEclipseからStudioに切り替えたばかりなので、初めて聞いているのは古い問題だと思われます。 Studioのクイックフィックスが自分のコードにどのような影響を与えるかを確認する必要があります。再度、感謝します。 –

関連する問題