如何使卡弹出时点击弹出?

Ben*_*Rei 1 android ios dart flutter

我一直在尝试在博客中弹出博客文章,但每次运行该应用程序时,都不会弹出任何东西。我尝试将Card对象放入onTap语句中。

代码如下:

article_view.dart

import 'package:flutter/material.dart';
import 'package:scip_app/articles_data.dart';

class _ArticleListItem extends ListTile {


_ArticleListItem(Article article) :
      super(
        title: new Text(article.title),
        subtitle: new Text(article.blurb),
        onTap: () {
          new FullArticleDisplay(article);
        }
    );
} 

class FullArticleDisplay extends StatelessWidget {
final Article article;

FullArticleDisplay(this.article);

@override
Widget build(BuildContext context) {
  return new Container(
    child: new Card(
      child: new Column(
          mainAxisSize: MainAxisSize.min,
          children: <Widget>[
            new ListTile(
              title: new Text(article.title),
            ),
            new Text(article.articled),
          ]
      )
    )
  );
 }
}

class ArticleList extends StatelessWidget {
final List<Article> _articles;

ArticleList(this._articles);

@override
Widget build(BuildContext context) {
  return new ListView(
      padding: new EdgeInsets.symmetric(vertical: 8.0),
      children: _buildArticleList()
  );
}

List<_ArticleListItem> _buildArticleList() {
  return _articles.map((artic) => new _ArticleListItem(artic)).toList();
 }
}

class ArticlesPage extends StatelessWidget {

@override
Widget build(BuildContext context) {
  return new Scaffold(
      appBar: new AppBar(
          title: new Text("Articles")
      ),
      body: new ArticleList(kArticles)
  );
 }
}
Run Code Online (Sandbox Code Playgroud)

其他文件在这里:https : //pastebin.com/rS2fLktF

Col*_*son 5

看起来您正在构造一个小部件,但并未将其放置在任何地方。您是否要显示对话框?如果是这样,请尝试在对showDialog的调用中包装对新FillArticleDisplay的调用。或者,您可以调用setState并将小部件保存在某个位置,以便可以将其包含在build方法中。