Как деактивировать или переопределить кнопку «НАЗАД» в Android во Флаттере?

Spark-1.6.1

Java-1.7.0_99

Узлы в кластере-3 (HDP).

Case 1:

Running in local mode local[n]

file:///.. и file:/.. считывает файл из локальной системы

Case 2:

`--master yarn-cluster`

Input path does not exist: for file:/ and file://

И для file://

java.lang.IllegalArgumentException :Wrong FS: file://.. expected: file:///

43
задан MarcG 3 January 2019 в 00:23
поделиться

3 ответа

Метод, который можно использовать, следующие:

new FloatingActionButton(
  onPressed: () {    
    Navigator.of(context).pushReplacementNamed('/pageTwo');
  },
)

Hope это помогает. Спасибо

-2
ответ дан 7 November 2019 в 10:52
поделиться

Я использовал смешивание, и виджет WillPopScope просто не мог сделать задания для меня. Это - лучший подход, который я нашел, намного лучше, чем WillPopScope, по-моему.
final bool canPop = ModalRoute.of(context)?.canPop ?? false;
Используемый это как эта внутренняя часть appbar:

leading: ModalRoute.of(context)?.canPop ?? false
    ? IconButton(
        onPressed: () {
          Navigator.pop(context);
        },
        icon: (Platform.isAndroid)
            ? const Icon(Icons.arrow_back)
            : const Icon(Icons.arrow_back_ios),
      )
    : Container(),
0
ответ дан 7 November 2019 в 10:52
поделиться

В то время как ответ Remi является правильным, обычно Вы не хотите, просто блокируют кнопку "Назад", но хотят, чтобы пользователь подтвердил выход.

можно сделать это похожий способ путем получения ответа от диалогового окна подтверждения, потому что onWillPop будущее.

@override
Widget build(BuildContext context) {
  return WillPopScope(
    child: Scaffold(...),
    onWillPop: () => showDialog<bool>(
      context: context,
      builder: (c) => AlertDialog(
        title: Text('Warning'),
        content: Text('Do you really want to exit'),
        actions: [
          FlatButton(
            child: Text('Yes'),
            onPressed: () => Navigator.pop(c, true),
          ),
          FlatButton(
            child: Text('No'),
            onPressed: () => Navigator.pop(c, false),
          ),
        ],
      ),
    ),
  );
}
0
ответ дан 7 November 2019 в 10:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: