Как получить объектную ссылку видов во флаттере - PullRequest
1 голос
/ 27 апреля 2020

Я новичок в изучении и написании программы сопоставления изображений, в которой мы щелкаем два изображения, и при сопоставлении они остаются открытыми, иначе они возвращаются назад. Следующий код, который я написал:

class _FlipgameState extends State<Flipgame> {
  List<int> nos=[0,0,1,1,2,2,3,3,4,4,5,5,6,6];
  List<String> imgs=["ballon.png","book.png","camera.jpg","cartoon.jpg","mountain.jpeg","student.png"];
var count=0;

  void checkimage(int a)
  {
    print("clicked $a");
     }
  @override
  void initState() {
    // TODO: implement initState
    super.initState();
    nos.shuffle();
    print(nos);
  }
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text("Image Game"),),
      body: Column(
        children: [
          Expanded(
      child:Row(
        crossAxisAlignment: CrossAxisAlignment.stretch,
            children: [
              Expanded(
                child: getit(1),
                flex: 1,
              ),
              Expanded(
                child: getit(2),
                flex: 1,
              ),
              Expanded(
                child: getit(3),
                flex: 1,
              )
            ],
          ),
          flex:1,
          ),
          Expanded(
          child:Row(
            crossAxisAlignment: CrossAxisAlignment.stretch,

            children: [
              Expanded(
                child: getit(4),
                flex: 1,
              ),
              Expanded(
                child: getit(5),
                flex: 1,
              ),
              Expanded(
                child: getit(6),
                flex: 1,
              )
            ],
          ),
            flex:1),
          Expanded(
          child:Row(
            crossAxisAlignment: CrossAxisAlignment.stretch,

            children: [
              Expanded(
                child: getit(7),
                flex: 1,
              ),
              Expanded(
                child: getit(8),
                flex: 1,
              ),
              Expanded(
                child: getit(9),
                flex: 1,
              )
            ],
          ),
          flex: 1,),
          Expanded(
    child:Row(
            crossAxisAlignment: CrossAxisAlignment.stretch,

            children: [
              Expanded(
                child: getit(10),
                flex: 1,
              ),
              Expanded(
                child: getit(11),
                flex: 1,
              ),
              Expanded(
                child: getit(12),
                flex: 1,
              )
            ],
          ),
          flex: 1,),
        ],
      ),
    )
    ;
  }

  Widget getit(int a) {
    AssetImage ai=AssetImage('assets/images/blank.png');
return Padding(
  padding: const EdgeInsets.all(2.0),
  child:   GestureDetector(

  child:Image(
    image: ai,
    width:60 ,
    height: 60,

  ),
    onTap: (){checkimage(a);},
),);
  }


}

В checkimage, как я могу изменить изображение на изображении. Можем ли мы получить ссылку на представления изображений в методе checkimage, чтобы я мог изменить изображение на объекте Image .

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