是的,Android的ScrollView可以動態加載內容。您可以使用以下方法實現動態加載:
public interface OnDataLoadedListener {
void onDataLoaded(List<YourDataModel> dataList);
}
public void loadData(final OnDataLoadedListener listener) {
new AsyncTask<Void, Void, List<YourDataModel>>() {
@Override
protected List<YourDataModel> doInBackground(Void... voids) {
// 在這里執行網絡請求或從本地數據庫獲取數據
// 返回數據列表
return yourDataList;
}
@Override
protected void onPostExecute(List<YourDataModel> dataList) {
listener.onDataLoaded(dataList);
}
}.execute();
}
scrollView.setOnScrollChangeListener(new NestedScrollView.OnScrollChangeListener() {
@Override
public void onScrollChange(NestedScrollView v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {
if (!v.canScrollVertically(1) && !v.canScrollVertically(-1)) {
// 當滾動到底部時,加載更多數據
loadData(new OnDataLoadedListener() {
@Override
public void onDataLoaded(List<YourDataModel> dataList) {
// 將新加載的數據添加到現有數據列表中
yourDataList.addAll(dataList);
// 更新UI,例如將數據綁定到Adapter
yourAdapter.notifyDataSetChanged();
}
});
}
}
});
這樣,當用戶滾動到底部時,ScrollView將動態加載更多內容。請注意,為了提高性能,您應該使用異步任務(如AsyncTask)或其他后臺線程來執行數據加載操作,以免阻塞UI線程。