как продолжить внутри listView dart - PullRequest
1 голос
/ 06 мая 2020

Мне не нужно создавать GestureDetector (), если индекс равен 1 и text == 'hello', как я могу это сделать?

ListView.builder(
                        itemCount: _data.length,
                        itemBuilder: (context, index) {
                          if(index==1&&text=='hello')
                            //error
                           continue;
                          return GestureDetector();
})

1 Ответ

0 голосов
/ 06 мая 2020

Вам просто нужно использовать тернарный оператор для выполнения вышеуказанной задачи, например, я использовал ниже

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';
import 'package:flutterlearningapp/colors.dart';

class HomeScreen extends StatefulWidget {
  @override
  State<StatefulWidget> createState() {
    // TODO: implement createState
    return _HomeScreen();
  }
}

class _HomeScreen extends State<HomeScreen> {
  List<String> notes = [
    "Data 1",
    "Hello",
    "Implement ListView widget",
    "Demo ListView simplenote app",
    "Fixing app color",
    "Create new note screen",
    "Persist notes data",
    "Add screen transition animation",
    "Something long Something long Something long Something long Something long Something long",
  ];

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: "ListView",
      home: Scaffold(
        appBar: AppBar(
          title: Text("List"),
        ),
        body: ListView.builder(
          itemCount: notes.length,
          itemBuilder: (context, index) {
            return (index==1)?ListTile( //// USE THE TERNARY OPERATOR
              title: Text('${notes[index]}'),)
                :(notes[index]=="Hello")?
            Text('${notes[index]}'):
            GestureDetector( 
              child: ListTile(
                title: Text('${notes[index]}'),
              ),
              onTap: ()
              {
                print("Your click ${notes[index]}");
              },
            );




          },
        ),
      ),
    );
  }
}
...