java - 使用Fragment滑动刷新时数据没有变化

标签 java android

我在滑动刷新时遇到问题,在为 setOnRefreshListener 设置操作之后,我已将 SwipeRefreshLayout 添加到布局 Activity_main.xml 中。

布局

<android.support.v4.widget.DrawerLayout>
        <FrameLayout
                android:id="@+id/container_body_vn"
                android:layout_width="fill_parent"
                android:layout_height="0dp"
                android:layout_weight="1"/>

        <android.support.v4.widget.SwipeRefreshLayout
                android:id="@+id/swipeToRefresh"
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

        <android.support.v4.view.ViewPager
                android:id="@+id/pager"
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_weight="1"
                android:layout_below="@id/tab_layout_vn"/>

        </android.support.v4.widget.SwipeRefreshLayout>


</android.support.v4.widget.DrawerLayout>


在main_activity.java中

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
setContentView(R.layout.soccer_activity_main_vn);
mSwipeRefreshLayout = findViewById(R.id.swipeToRefresh);

 mSwipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
            Fragment fragment = null;

            @Override
            public void onRefresh() {
                int current_tab = viewPager.getCurrentItem();

                switch (current_tab) {
                    case 0:
                        fragment = new TV_Fragment();
                        break;

                    default:
                        break;
                }

                if (fragment != null) {
                    FragmentManager fragmentManager = getSupportFragmentManager();
                    FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
                    fragmentTransaction.replace(R.id.container_body_vn, fragment);
                    fragmentTransaction.commit();
                }
            }
        });
}

我尝试运行应用程序中的数据,拉刷新后没有变化,图标刷新加载永远。不知道为什么,有知道的请留言。

抱歉我的英语不好。

谢谢

最佳答案

-如果您想在加载和滑动后隐藏刷新图标,应添加 mSipeRefreshLayout.setRefreshing(false);

-如果您想在一次加载和滑动后禁用刷新,应添加 mSipreRefreshLayout.setEnabled(false);

mSwipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
        Fragment fragment = null;

        @Override
        public void onRefresh() {
            int current_tab = viewPager.getCurrentItem();

            switch (current_tab) {
                case 0:
                    fragment = new TV_Fragment();
                    break;

                default:
                    break;
            }

            if (fragment != null) {
                FragmentManager fragmentManager = getSupportFragmentManager();
                FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
                fragmentTransaction.replace(R.id.container_body_vn, fragment);
                fragmentTransaction.commit();


            }

            mSipeRefreshLayout.setRefreshing(false); //mSipreRefreshLayout.setEnabled(false); for disabled swipe

        }
    });

关于java - 使用Fragment滑动刷新时数据没有变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57174002/

相关文章:

Android TextView 椭圆大小 :end and gravity:right does not seem to work

android - 错误 XA0000 : Could not determine API level for $(TargetFrameworkVersion) of 'v7.1'

java - 将保存的文件从 List<File> 递归复制到 java 中的目录中

Java Swing : JOptionPane appears by itself without parent window when restored?

java - 传递在 Activity 之间单击的 ListView 项目

java按钮按下3秒

android - 模拟返回 Kotlin Coroutines Deferred 类型的方法的返回值

c# - 具有多个参数的 SignalR 客户端

java - 如果我想学习 Java 和 wicket 框架,从哪里开始

java - Android - 扩展 ListActivity 为每个项目添加图像?