質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Flutter

Flutterは、iOSとAndroidのアプリを同じコードで開発するためのフレームワークです。オープンソースで開発言語はDart。双方のプラットフォームにおける高度な実行パフォーマンスと開発効率を提供することを目的としています。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Dart

Dartは、Googleによって開発されたJavaScriptの代替となることを目的に作られた、ウェブ向けのプログラミング言語である。

Q&A

解決済

1回答

771閲覧

onPressed の編集の仕方が分からない

yama2006

総合スコア0

Flutter

Flutterは、iOSとAndroidのアプリを同じコードで開発するためのフレームワークです。オープンソースで開発言語はDart。双方のプラットフォームにおける高度な実行パフォーマンスと開発効率を提供することを目的としています。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Dart

Dartは、Googleによって開発されたJavaScriptの代替となることを目的に作られた、ウェブ向けのプログラミング言語である。

0グッド

0クリップ

投稿2020/11/09 03:04

最近 Flutter を始めた者です。
C 言語の経験が数年あるぐらいで Java などは未経験です。

Android の実機でデバッグできる所までは、できたのですが
サンプルコードを少し編集しただけでエラーが出たり
意図通りに動かず困っています。

○ 前提・実現したいこと
AndroidStudio で新規でプロジェクトを作成した時の
カウンターアプリ (+ボタンを押すと数値が増えるやつ)
の編集し、mp3 再生をしたい

○ 発生している問題・エラーメッセージ
onPressed の部分をいじるとエラーが出ます。

○ 該当のソースコード
以下の通りです。

○ 自分で調べたことや試したこと
web で onPressed で検索し、いくつかのコードを見ましたが理解できませんでした

○ 使っているツールのバージョンなど補足情報
AndroidStudio
Flutter

どのように編集すべきか、教えて頂きたいです。
よろしくお願いします。

flutter

1 2 floatingActionButton: FloatingActionButton( 3 onPressed: () { 4 _incrementCounter; 5 assetsAudioPlayer.open( // add 6 Audio('assets/Alarm08.mp3'), 7 autoStart: true, 8 ); 9 }, 10 tooltip: 'Increment',

mp3 は再生されるが、なぜかカウンタが増えない

flutter

1 floatingActionButton: FloatingActionButton( 2 onPressed: _incrementCounter, 3 tooltip: 'Increment',

編集していない状態

flutter

1 floatingActionButton: FloatingActionButton( 2 onPressed: { 3 _incrementCounter, 4 }, 5 tooltip: 'Increment',

_incrementCounter をカッコで囲ってみる → エラー
lib/main.dart:64:20: Error: The argument type 'Set<void Function()>' can't be assigned to the parameter type 'void Function()'.

flutter

1 floatingActionButton: FloatingActionButton( 2 onPressed: () { 3 _incrementCounter, 4 }, 5 tooltip: 'Increment',

onPressed に () を付ける → エラー
lib/main.dart:65:11: Error: Expected ';' after this.

flutter

1 floatingActionButton: FloatingActionButton( 2 onPressed: () { 3 _incrementCounter; 4 },

エラーは無く、実行可能だが、ボタンを押してもカウンタが増えない

以下が現在のコードです。

flutter

1 2import 'package:flutter/material.dart'; 3import 'package:assets_audio_player/assets_audio_player.dart'; // add 4 5// ローカルの assets フォルダの mp3 は鳴ったが _incrementCounter が実行されない 6 7void main() { 8 runApp(MyApp()); 9} 10 11class MyApp extends StatelessWidget { 12 @override 13 Widget build(BuildContext context) { 14 return MaterialApp( 15 title: 'Flutter Demo', 16 theme: ThemeData( 17 primarySwatch: Colors.blue, 18 visualDensity: VisualDensity.adaptivePlatformDensity, 19 ), 20 home: MyHomePage(title: 'Flutter Demo Home Page'), 21 ); 22 } 23} 24 25class MyHomePage extends StatefulWidget { 26 MyHomePage({Key key, this.title}) : super(key: key); 27 28 final String title; 29 30 @override 31 _MyHomePageState createState() => _MyHomePageState(); 32} 33 34class _MyHomePageState extends State<MyHomePage> { 35 int _counter = 0; 36 final assetsAudioPlayer = AssetsAudioPlayer(); // add 37 38 void _incrementCounter() { 39 setState(() { 40 _counter++; 41 }); 42 } 43 44 @override 45 Widget build(BuildContext context) { 46 return Scaffold( 47 appBar: AppBar( 48 title: Text(widget.title), 49 ), 50 body: Center( 51 child: Column( 52 mainAxisAlignment: MainAxisAlignment.center, 53 children: <Widget>[ 54 Text( 55 'You have pushed the button this many times:', 56 ), 57 Text( 58 '$_counter', 59 style: Theme.of(context).textTheme.headline4, 60 ), 61 ], 62 ), 63 ), 64 floatingActionButton: FloatingActionButton( 65 onPressed: () { 66 _incrementCounter; 67 assetsAudioPlayer.open( // add 68 Audio('assets/Alarm08.mp3'), 69 autoStart: true, 70 ); 71 72 }, 73 tooltip: 'Increment', 74 child: Icon(Icons.add), 75 ), // This trailing comma makes auto-formatting nicer for build methods. 76 ); 77 } 78} 79 80 81

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

お騒がせしました。

_incrementCounter();
としたら意図通りに動くようになりました。

投稿2020/11/09 05:51

yama2006

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問