Skip to content

Commit 9c4f79c

Browse files
committed
bug: fix #5
1 parent 74253f1 commit 9c4f79c

2 files changed

Lines changed: 23 additions & 6 deletions

File tree

lib/widget/news_detail.dart

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,25 @@ import 'package:nhk_easy/error_reporter.dart';
66
import 'package:nhk_easy/model/news.dart';
77
import 'package:webview_flutter/webview_flutter.dart';
88

9-
class NewsDetail extends StatelessWidget {
9+
class NewsDetail extends StatefulWidget {
1010
final News news;
11+
12+
const NewsDetail(this.news);
13+
14+
@override
15+
NewsDetailState createState() => NewsDetailState();
16+
}
17+
18+
class NewsDetailState extends State<NewsDetail> {
19+
News news;
1120
AudioPlayer _audioPlayer;
21+
bool _isPlaying = false;
22+
23+
@override
24+
void initState() {
25+
super.initState();
1226

13-
NewsDetail({Key key, @required this.news}) : super(key: key) {
27+
this.news = widget.news;
1428
_audioPlayer = AudioPlayer();
1529

1630
if (_hasAudio()) {
@@ -60,10 +74,13 @@ class NewsDetail extends StatelessWidget {
6074
ErrorReporter.reportError(error, stackTrace);
6175
});
6276
}
77+
78+
setState(() {
79+
_isPlaying = _audioPlayer.playbackState ==
80+
AudioPlaybackState.playing;
81+
});
6382
},
64-
child: _audioPlayer.playbackState == AudioPlaybackState.playing
65-
? Icon(Icons.pause)
66-
: Icon(Icons.play_arrow))
83+
child: Icon(_isPlaying ? Icons.pause : Icons.play_arrow))
6784
: Container(),
6885
),
6986
);

lib/widget/news_list.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ class NewsListState extends State<NewsList> {
5858
),
5959
onTap: () {
6060
Navigator.of(context).push(MaterialPageRoute<void>(builder: (context) {
61-
return NewsDetail(news: news);
61+
return NewsDetail(news);
6262
}));
6363
},
6464
);

0 commit comments

Comments
 (0)