安卓开发组件开发示例
系统原生下拉刷新
<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); } }
第三方实现
浙公网安备 33010602011771号