安卓开发组件开发示例

系统原生下拉刷新

<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
    android:id="@+id/swipe_refresh_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:android="http://schemas.android.com/apk/res/android">

    <!-- 需要刷新的内容控件 -->
    <ScrollView
        android:id="@+id/recycler_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <TextView
            android:id="@+id/xoid"
            android:textSize="20dp"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:text="000000000000000"/>

    </ScrollView>


</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>

  代码端实现

package com.example.myrt;

import androidx.appcompat.app.AppCompatActivity;
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;

import android.os.Bundle;
import android.os.Handler;
import android.util.Log;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity implements SwipeRefreshLayout.OnRefreshListener {

    private SwipeRefreshLayout mSwipePefreshLayout;
    private  TextView oid;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mSwipePefreshLayout = (SwipeRefreshLayout) findViewById(R.id.swipe_refresh_layout);
        oid = (TextView) findViewById(R.id.xoid);
        mSwipePefreshLayout.setOnRefreshListener(this);
    }
//这儿如果不用  mSwipePefreshLayout.setRefreshing(false);会一直转圈圈
@Override public void onRefresh() { mSwipePefreshLayout.setRefreshing(true); (new Handler()).postDelayed(new Runnable() { @Override public void run() { mSwipePefreshLayout.setRefreshing(false); int i = (int) (Math.random() * 100) + 1; oid.setText(Integer.toString(i)); } }, 1000); } }

  第三方实现

 

posted @ 2023-10-06 20:43  稷下元歌  阅读(6)  评论(0编辑  收藏  举报