Ссылку на метод включающего класса невозможно извлечь при рефакторинге.Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Ссылку на метод включающего класса невозможно извлечь при рефакторинге.

Сообщение Anonymous »

Когда я хочу выполнить «Извлечение в виджет», возникает ошибка: «Невозможно извлечь ссылку на метод включающего класса».

Я знаю, что есть некоторые переменные, которые должны получить свои данные из конструктора класса, но я хочу, чтобы студия Android извлекла виджет, тогда я исправлю ошибочные коды, например Visual Studio, которая без каких-либо ошибок извлекает код в новый виджет, а затем необходимо скопировать новый извлеченный виджет в новый файл dart и исправьте ошибки.

Я хочу извлечь часть виджета «Карточка».

import 'package:flutter/material.dart';
import 'package:flutter/material.dart' as prefix0;
import 'package:intl/intl.dart';
import '../model/transaction.dart';

class TransactionList extends StatelessWidget {
final List transactions;
final Function deleteTx;

TransactionList(this.transactions, this.deleteTx);

@override
Widget build(BuildContext context) {
return transactions.isEmpty
? LayoutBuilder(
builder: (ctx, constraint) {
return Column(
children: [
Text(
'There is no transaction',
style: Theme.of(context).textTheme.title,
textDirection: prefix0.TextDirection.rtl,
),
SizedBox(
height: 10,
),
Container(
height: constraint.maxHeight * 0.6,
child: Image.asset(
'assets/images/yalda.png',
fit: BoxFit.cover,
))
],
);
},
)
: ListView.builder(
itemCount: transactions.length,
itemBuilder: (ctx, index) {
return **Card**(
margin: const EdgeInsets.symmetric(vertical: 8, horizontal: 5),
elevation: 5,
child: ListTile(
leading: CircleAvatar(
radius: 30,
child: Padding(
padding: const EdgeInsets.all(8),
child: FittedBox(
child: Text('\$${transactions[index].amount}')),
),
),
title: Text(
transactions[index].title,
style: Theme.of(context).textTheme.title,
),
subtitle: Text(DateFormat.yMMMd()
.format(transactions[index].date)
.toString()),
trailing: MediaQuery.of(context).size.width > 360
? FlatButton.icon(
onPressed: () => deleteTx(transactions[index].id),
icon: const Icon(Icons.delete),
label: const Text('Delete'),
textColor: Theme.of(context).errorColor,
)
: IconButton(
icon: const Icon(Icons.delete),
color: Theme.of(context).errorColor,
onPressed: () => deleteTx(transactions[index].id),
),
),
);
});
}
}


Подробнее здесь: https://stackoverflow.com/questions/596 ... efactoring
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»