当我按下臀部时,如何将我的测验视图交换为我的颤动测验应用程序?

时间:2019-07-18 03:46:41

标签: flutter dart parameter-passing navigator

我想问你关于颤动的问题。 我想做的是与此班做一些测验应用程序 此类是为测验零件视图而设计的。

我想使名为“ RaisedButton”的按钮用于答案,并在按下它们时,通过更改_questionInd来刷新页面,并更改内容。我可以为这个目标做什么? :(

这是由dart语言和flutter框架制作的Quiz应用程序。


class _SolvingPage extends MaterialPageRoute<Null> {
  int ind=0;
  int _questionInd=0;

  void _answerQuestion(){
    setState((){
      _questionInd+=1;
    });
    print(_questionInd);
  }
  _SolvingPage()
      : super(builder: (BuildContext context) {
        var questions = [
      {
        'questionText': 'What\'s your favorite color?',
        'answers': ['Black', 'Red', 'Green', 'White'],
      },
      {
        'questionText': 'What\'s your favorite animal?',
        'answers': ['Rabbit', 'Snake', 'Elephant', 'Lion'],
      },
      {
        'questionText': 'Who\'s your favorite instructor?',
        'answers': ['Max', 'Max', 'Max', 'Max'],
      },
    ];


    return Scaffold(
        appBar: AppBar(
          title: Text('문제풀이 페이지'),
          backgroundColor: Colors.pinkAccent,
          elevation: 0.5,
          toolbarOpacity: 0.8,
          // prototype에서는 이 제목 바는 없고, 하단에 정지 아이콘을 두었음
        ),
        body: Builder(
            builder: (BuildContext context) => Center(
                child: Column(
                    children:<Widget>[
                      Container(
                        width: 300,
                        height: 300,
                        decoration:BoxDecoration(
                          border:Border.all(width:1.5, color: Colors.white70),
                          color: Colors.white70,
                          borderRadius: BorderRadius.circular(15.0),
                        ),
                        alignment: Alignment.center,
                        child: Text('1'),
                      ),
                      Text('1'),
                      RaisedButton(
                          child: Text('1'),
                          onPressed:(){
                            //다음 문제로 넘어가야 함

                            int temp=_SolvingPage()._questionInd++;

                            print('$temp');

                          },
                          color: Colors.white,
                      ),
                      RaisedButton(
                          child: Text('1'),
                          onPressed:(){


                          },
                          color: Colors.white,
                      ),
                      RaisedButton(
                          child: Text('1'),
                          onPressed:(){


                          },
                          color: Colors.white,
                      ),
                      Row(
                        //문제 넘기기 버튼, 정지 버튼
                        //문제 넘기기 버튼, 정지 버튼
                      ),
                    ]
                )

            )
        )
    );

  });
}

1 个答案:

答案 0 :(得分:0)

화면을바꾸기위해서는

setState((){

});

를이용해야합니다

String quiz = "문제1";
Text(quiz);

setState(() {
  quiz = "문제2";
});