title: Flutter (Dart) How to add copy to clipboard on tap to a app?
body: <p>I'm a beginner to Flutter and I just started following their Name Generator app tutorial and made a simple name generating app. I'm wondering if it's possible to add copy to clipboard feature when a user tap  on a name?  I tried to implement a solution I found on stack but it didn't work. My full code is here. Any advise is appreciated.</p>
  <pre class="lang-dart prettyprint-override"><code>import 'package:flutter/material.dart';
  import 'package:english_words/english_words.dart';
  
  void main() =&gt; runApp(new MyApp());
  
  class MyApp extends StatelessWidget {
    @override
    Widget build(BuildContext context) {
      return new MaterialApp(
        title: 'Startup Name Generator',
        home: new RandomWords(),
      );
    }
  }
  
  class RandomWords extends StatefulWidget {
    @override
    RandomWordsState createState() =&gt; new RandomWordsState();
  }
  
  class RandomWordsState extends State&lt;RandomWords&gt; {
    final List&lt;WordPair&gt; _suggestions = &lt;WordPair&gt;[];
    final Set&lt;WordPair&gt; _saved = new Set&lt;WordPair&gt;();
    final TextStyle _biggerFont = const TextStyle(fontSize: 18.0);
  
    @override
    Widget build(BuildContext context) {
      return new Scaffold(
        appBar: new AppBar(
          title: const Text('Startup Name Generator'),
          actions: &lt;Widget&gt;[
            new IconButton(icon: const Icon(Icons.list), onPressed: _pushSaved),
          ],
        ),
        body: _buildSuggestions(),
      );
    }
  
    Widget _buildSuggestions() {
      return new ListView.builder(
          padding: const EdgeInsets.all(16.0),
          itemBuilder: (BuildContext _context, int i) {
            if (i.isOdd) {
              return const Divider();
            }
            final int index = i ~/ 2;
            if (index &gt;= _suggestions.length) {
              _suggestions.addAll(generateWordPairs().take(10));
            }
            return _buildRow(_suggestions[index]);
          });
    }
  
    Widget _buildRow(WordPair pair) {
      final bool alreadySaved = _saved.contains(pair);
  
      return new ListTile(
        title: new Text(
          pair.asPascalCase,
          style: _biggerFont,
        ),
        trailing: new Icon(
          alreadySaved ? Icons.favorite : Icons.favorite_border,
          color: alreadySaved ? Colors.red : null,
        ),
        onTap: () {
          setState(() {
            if (alreadySaved) {
              _saved.remove(pair);
            } else {
              _saved.add(pair);
            }
          });
        },
      );
    }
  
    void _pushSaved() {
      Navigator.of(context).push(
        new MaterialPageRoute&lt;void&gt;(
          builder: (BuildContext context) {
            final Iterable&lt;ListTile&gt; tiles = _saved.map(
                  (WordPair pair) {
                return new ListTile(
                  title: new Text(
                    pair.asPascalCase,
                    style: _biggerFont,
                  ),
                );
              },
            );
            final List&lt;Widget&gt; divided = ListTile
                .divideTiles(
              context: context,
              tiles: tiles,
            )
                .toList();
            return new Scaffold(
              appBar: new AppBar(
                title: const Text('Saved Suggestions'),
              ),
              body: new ListView(children: divided),
            );
  
          },
        ),
      );
    }
  }
  </code></pre>