[flutter] RefreshIndicator를 사용하여 검색 결과 새로 고침하기
RefreshIndicator를 사용하여 검색 결과 새로 고침하기
Flutter 앱에서 검색 결과를 보여주는 화면을 만들 때, 사용자가 아래로 당겨서 “새로 고침”을 할 수 있도록 하는 것은 중요한 기능입니다. 이 기능을 구현하기 위해 Flutter 프레임워크는 RefreshIndicator
위젯을 제공합니다. RefreshIndicator
는 스크롤 가능한 위젯과 함께 사용되어 아래로 당기는 동작을 감지하고 새로운 데이터를 불러올 때 유용합니다.
RefreshIndicator 사용 방법
RefreshIndicator
를 사용하여 검색 결과를 새로고침하는 방법은 매우 간단합니다. 다음은 간단한 예제 코드입니다.
import 'package:flutter/material.dart';
class SearchResultsScreen extends StatefulWidget {
@override
_SearchResultsScreenState createState() => _SearchResultsScreenState();
}
class _SearchResultsScreenState extends State<SearchResultsScreen> {
List<String> searchResults = ['Result 1', 'Result 2', 'Result 3'];
Future<void> _refreshSearchResults() async {
// 검색 결과를 새로고침하는 비동기 작업을 수행합니다.
// 새 데이터를 가져오는 API 호출 또는 로컬 데이터베이스 쿼리 등이 여기에 포함될 수 있습니다.
setState(() {
// 새로운 검색 결과를 반영합니다.
searchResults = // 새로운 결과 데이터;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Search Results'),
),
body: RefreshIndicator(
onRefresh: _refreshSearchResults,
child: ListView.builder(
itemCount: searchResults.length,
itemBuilder: (context, index) {
return ListTile(
title: Text(searchResults[index]),
);
},
),
),
);
}
}
위의 예제 코드에서 _refreshSearchResults
메소드는 RefreshIndicator
가 아래로 당겨지는 동작을 감지하면 호출되어 검색 결과를 새로고침합니다. 실제 앱에서는 이 메소드 안에서 API 호출이나 로컬 데이터베이스 쿼리를 사용하여 새로운 데이터를 가져오게 될 것입니다.
다음은 RefreshIndicator
의 중요한 속성입니다.
onRefresh
: 검색 결과를 새로고침할 때 호출되는 콜백 함수를 지정합니다.child
: 새로고침되는 위젯을 포함합니다. 여기서는ListView
를 사용하여 검색 결과 목록을 나타냈습니다.
이렇게 RefreshIndicator
를 사용하여 앱의 검색 결과 화면을 새로고침하는 기능이 간단하게 구현될 수 있습니다.
결론
Flutter의 RefreshIndicator
는 사용자가 스크롤 가능한 화면에서 새로고침 기능을 제공하는 데 매우 유용한 위젯입니다. 검색 결과를 보여주는 화면에서는 이를 통해 쉽게 사용자 경험을 향상시킬 수 있습니다.
```