0
をintに変換することはできませんので、私はパートのAudioPlayerためのチュートリアルアプリケーションを追った私は、しかし、私はこのエラーを越えてくるのです、作っています:ArrayListのは
エラー:(30、43)エラー:互換性のない型を:文字列はここで
をintに変換できないコードのセクションです:
playAudio(audioList.get(0).getData());
これは、次のメソッドを呼び出します:
private void playAudio(int audioIndex) {
//Check is service is active
if (!serviceBound) {
//Store Serializable audioList to SharedPreferences
StorageUtil storage = new StorageUtil(getApplicationContext());
storage.storeAudio(audioList);
storage.storeAudioIndex(audioIndex);
Intent playerIntent = new Intent(this, MediaPlayerService.class);
startService(playerIntent);
bindService(playerIntent, serviceConnection, Context.BIND_AUTO_CREATE);
} else {
//Store the new audioIndex to SharedPreferences
StorageUtil storage = new StorageUtil(getApplicationContext());
storage.storeAudioIndex(audioIndex);
//Service is active
//Send a broadcast to the service -> PLAY_NEW_AUDIO
Intent broadcastIntent = new Intent(Broadcast_PLAY_NEW_AUDIO);
sendBroadcast(broadcastIntent);
}
}
int audioIndexからString audioIndexに変更すると、ストレージが保持されているコードの他の部分でエラーが発生します。
私には何が欠けていますか?
私は 'getData()'が 'String'を返すと思います。あなたは 'int'引数を期待するメソッドに' String'を渡そうとしています。 – Logan
audioList.get(0).getData()は実際にどのデータ型を返しますか? – v1shnu
'playAudio(Integer.valueOf(audioList.get(0).getData));'を使うことができます。しかし、getDataがStringであるNumberを返すようにする必要があります。それ以外の場合はNumberFormatExceptionが発生します – v1shnu