Открытие подробной сводной страницы при нажатии на плитку списка - PullRequest
0 голосов
/ 27 апреля 2020

У меня есть приложение todo, у которого есть просмотр списка с заголовком и краткой сводкой, показывающей при нажатии на список, он должен go перейти на страницу с конкретной информацией о задачах, которая показывает все детали относительно задачи. Это мой список просмотра

@override
  Widget build(BuildContext context) {
    return Scaffold(
      drawer: newdrawer(),
      appBar: newappbar(),
      body: _TaskList(),
      floatingActionButton: FloatingActionButton(
        foregroundColor: Colors.black54,
        backgroundColor: Colors.blue,
        elevation: 0,
        child: Icon(Icons.add),
        onPressed: () {
          addDialog(context);
        },
      ),
      floatingActionButtonLocation: FloatingActionButtonLocation.centerFloat,
    );
  }

  // ignore: non_constant_identifier_names
  Widget _TaskList() {
    if (Task != null) {
      return FlatButton(
        child: ListView.builder(
          itemCount: Task.documents.length,
          padding: EdgeInsets.all(5.0),
          itemBuilder: (context, i) {
            return new ListTile(
              title: Text(Task.documents[i].data['Title']),
              subtitle: Text(Task.documents[i].data['Summary']),
            );
          },
        ),
        onPressed: () {},
      );
    } else {
      return Text('Loading, Please wait..');
    }
  }
}

при нажатии кнопки плоской кнопки, которая пуста в списке задач виджета, при нажатии должна открыться страница подробных задач, отображающая только детали этой конкретной задачи

class _taskdetailState extends State<taskdetail> {
  //taskdetail([this.id]);
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: newappbar(),
      drawer: newdrawer(),
      body: Column(
        children: <Widget>[
          Text('')
        ],
      )
    );
  }

}

Пожалуйста, помогите мне в моем предположении в моем виде списка при нажатии на onsd следует взять идентификатор документа, а затем перейти к подробному экрану. Но у меня нет мыслей о том, как это сделать.

1 Ответ

0 голосов
/ 27 апреля 2020

в методе onPressed, вам нужно передать детали задачи вот так

onPressed: (){
  navigator.push(context,MaterialPageRoute(builder:(context)=>_taskdetailState(details: Task.documents[i].data)));
}

теперь вы можете получить доступ к этим данным как

class _taskdetailState extends State<taskdetail> {
  final dynamic Taks;
  _taskdetailState({this.Task});
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title:Text(Task.Title)),
      drawer: newdrawer(),
      body: Column(
        children: <Widget>[
          Text('')
        ],
      )
    );
  }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...