我有 UItableview 和活动 UIRefreshControl 用于拉动刷新操作。因此,我尝试通过取消选择 Storyboard 中 tableview 的“bounce”属性来禁用弹跳(当我滚动 UITableView 时出现)。但是,当我执行此拉动刷新操作时,它也会停止工作。对此我能做什么?我应该仅手动禁用 UIRefreshControl 的底部弹跳和左顶部弹跳吗?
\n\n我的 viewDidLoad 方法:
\n\noverride func viewDidLoad() {\n super.viewDidLoad()\n\n self.refreshControl = UIRefreshControl()\n self.refreshControl!.attributedTitle = NSAttributedString(string: "\xd0\x9e\xd0\xb1\xd0\xbd\xd0\xbe\xd0\xb2\xd0\xbb\xd0\xb5\xd0\xbd\xd0\xb8\xd0\xb5")\n self.refreshControl!.addTarget(self, action: "refresh:", forControlEvents: UIControlEvents.ValueChanged)\n self.edgesForExtendedLayout = UIRectEdge.None;\n tableView.allowsMultipleSelectionDuringEditing = false;\n tableView.tableFooterView = UIView()\n // menu button\n if self.revealViewController() != nil {\n menuButton.target = self.revealViewController()\n menuButton.action = "revealToggle:"\n self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer())\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n 我有一个水平滚动的 React-Native FlatList,我通过将“horizontal” prop 设置为 true 来实现它,它工作得很好,但现在我想添加 pull 来刷新,但我无法让它工作。
我添加了“refresing”和“onRefresh”道具,它们可以正常工作。唯一的问题是 FlatList 实现了垂直下拉刷新,这在水平滚动时非常奇怪。在 Android 和 iOS 中,您必须从顶部下拉才能开始刷新,但这没有意义,因为当您位于列表末尾时,您想从左侧拉。在 iOS 上,情况也更糟,因为 FlatList 的整个内部现在也可以垂直移动。
是否有任何设置可以尝试使其正常工作,或者我可以通过任何方式手动实现水平拉动以刷新?
我有一个名为 A 的Stateless类,它是一个类,我有一个名为 B 的Stateful类,它是一个类
A类的build方法如下
@override
Widget build(BuildContext context) {
return BlocProvider(
bloc: DashboardListBloc(),
child: Scaffold(
body: SingleChildScrollView(
child: Column(
children: <Widget>[
SafeArea(child: _dashboardAppBar(context)),
SizedBox(
height: 10.0,
),
B() // this is class B
],
),
)),
);
Run Code Online (Sandbox Code Playgroud)
我宣布在B级我的阵营对象类A的身体假设,我换SingleChildScrollView用RefreshIndicator,所以如何在其更新特性我应该叫阵营类的其参考在B类中定义的方法
我想把所有东西都移到 B 类并删除 A 类,但这会导致另一个问题,因为我必须Bloc在 init 方法中初始化并且在构建之前调用 init,bloc 将始终导致 null,因为我将BlocProvider InheritedWidget在 B 类的构建方法中使用
我想知道是否有一种简单的方法可以使 SwiftUI 的刷新控件使用的活动指示器可见List?这将提供一致的刷新 UI 外观,无论刷新是如何启动的。
List使用修饰符启用a上的pull刷新后refreshable,Lists环境就有了它的refresh项目集,RefreshAction供刷新控件使用。我的猜测是,使用它RefreshAction也可能会触发刷新控件的可见性,我尝试过:
struct MyView : View {
@State var content: Content
var body: some View {
_MyView(content: $content)
.refreshable { // assigning `refresh` to the environment
await refresh()
}
}
private func refresh() async {
// ...
content = newContent
// ...
}
}
struct _MyView : View {
@Environment(\.refresh) private var refresh
// [ content binding, etc... ]
var body: some View …Run Code Online (Sandbox Code Playgroud) pull-to-refresh swift swiftui swiftui-list swiftui-environment
虽然 RefreshIndicator 之前在移动设备和 Web 上都运行良好,但它不再刷新 Flutter Web 上的屏幕。在我的任何屏幕上都不可能再过度滚动,即使列表很长,但在移动版本上很容易实现。
从 flutter 3.3.x 更新到 3.7.9 后我注意到了这个问题
这是另一个简化的例子。在手机上,重新加载随机生成的数字效果很好,在网络上什么也没有发生:
import 'package:flutter/material.dart';
import 'dart:math';
void main() => runApp(const MyHomePage());
class MyHomePage extends StatefulWidget {
const MyHomePage({
Key? key,
}) : super(key: key);
@override
State<MyHomePage> createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
String title = 'Hello';
var rng = Random();
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: Scaffold(
appBar: AppBar(
title: Text(title),
),
body: RefreshIndicator( …Run Code Online (Sandbox Code Playgroud) 我需要在listview中实现pull刷新和加载.我使用自定义适配器来创建listview.如何实现pull to refresh并使用适配器类加载.
有人能帮助我吗?
我正在设置自定义ListView.
pull-to-refresh功能直接来自https://github.com/chrisbanes/Android-PullToRefresh
ListView显示图像,所以我创建了一个自定义适配器:
class mAdapter extends BaseAdapter{
public mAdapter(Context context){
// nothing to do
}
@Override
public int getCount() {
return mValues.size();
}
@Override
public Object getItem(int position) {
return mValues.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public boolean areAllItemsEnabled()
{
return false;
}
@Override
public boolean isEnabled(int position)
{
return false;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if(v == null){
LayoutInflater inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE); …Run Code Online (Sandbox Code Playgroud) android android-listview android-adapter custom-adapter pull-to-refresh
我想实现拉来刷新我的UITableViewController使用UIRefreshControl.这是我到目前为止尝试过的.
- (void)viewDidLoad
{
.....
////********* Pull to refresh ************/
UIRefreshControl *refresh = [[UIRefreshControl alloc] init];
refresh.attributedTitle = [[NSAttributedString alloc] initWithString:@"Pull to Refresh"];
refresh.tintColor = [UIColor magentaColor];
// [self.tableView addSubview:refresh];
// [self.refreshControl setEnabled:YES];
[refresh addTarget:self action:@selector(pullToRefresh:) forControlEvents:UIControlEventValueChanged];
self.refreshControl = refresh;
}
-(void)pullToRefresh:(UIRefreshControl *)refresh {
[refresh beginRefreshing];
refresh.attributedTitle = [[NSAttributedString alloc] initWithString:@"Refreshing.."];
[self loadRecentActivities];
}
Run Code Online (Sandbox Code Playgroud)
但是当我拉出tableview时,活动指示器和标题都不可见,但是pullToRefresh会调用并刷新表.我的应用程序支持iOS7.0 +.我错过了什么?任何帮助,将不胜感激?
编辑:我试过 [self.refreshControl setEnabled:YES];和 [self.refreshControl setEnabled:YES];编辑过的代码一样,但仍然没有运气.当我把它拉到刷新时,这就是我的tableview的样子 - 
最终解决方案:对于我正在使用的表视图背景
UIImageView *imageView = …Run Code Online (Sandbox Code Playgroud) 我开发了一个具有一个列表视图的应用程序,我使用Pull来刷新刷新列表数据,同时下拉,所以我在我的代码中完美实现但是当我向上滚动列表向下滚动时我得到一个问题但是当我向下滚动它不滚动完成,因为它考虑拉动刷新和刷新数据但我想在显示列表索引0然后它工作拉动刷新
所以请帮帮我
我的代码是
listNotification = (ListView) rootView.findViewById(R.id.listNotification);
listNotification.setCacheColorHint(0);
swipeLayout = (SwipeRefreshLayout) rootView.findViewById(R.id.swipe_container);
swipeLayout.setOnRefreshListener(this);
swipeLayout.setColorScheme(android.R.color.holo_blue_bright, android.R.color.holo_green_light, android.R.color.holo_orange_light, android.R.color.holo_red_light);
if (Global.notifications == null) {
swipeLayout.setRefreshing(true);
new GetNotificationList().execute();
}
LoadNotificationToListView();
Run Code Online (Sandbox Code Playgroud)
在刷新
@Override
public void onRefresh() {
new GetNotificationList().execute();
}
Run Code Online (Sandbox Code Playgroud) 我正在创建一个功能,允许用户在应用程序中的任何位置下拉页面,以检查它们是否与数据库服务器有连接.我已经关注了这个网站,但它需要Scrollview或ListView才能运行.我的所有布局都只在RelativeLayout中.有没有办法在不将我的整个布局转换为ScrollView的情况下执行此操作?
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.infomaninc.appinlisv2.NewClaim">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:id="@+id/rlHeader" >
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="#1BB52D"
android:gravity="center"
android:padding="3dp"
android:id="@+id/rlFooter" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="@string/footer_value"
android:id="@+id/tvFooter"
android:textColor="#fff"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="@string/app_name"
android:id="@+id/tvLoggedOn"
android:textColor="#fff"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
</RelativeLayout>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
不要介意代码的内容.它只是一个页面的片段.如果我的页面看起来像这样,我将如何实现下拉刷新?
到目前为止,我已经按照本教程:https://guides.codepath.com/android/Implementing-Pull-to-Refresh-Guide#step-2-setup-swiperefreshlayout
pull-to-refresh ×10
android ×4
dart ×2
flutter ×2
ios ×2
swift ×2
bloc ×1
ios7 ×1
listview ×1
objective-c ×1
overscroll ×1
react-native ×1
swift2 ×1
swiftui ×1
swiftui-list ×1
uitableview ×1