无刷新显示即时更新数据两例

无刷新显示即时更新数据两例  
  因最近做网站需要用到无刷新数据,所以在网上查了一些资料,无刷新数据的实现无外乎用javascript或xmlhttp或iframe来实现。在网上找到一代码不是不能用就是效率太低,有的甚至使我的CPU达到100%,我根据网上的代码及查阅了一些资料,提供以下两例无刷新数据的例子,保证完全无错!

例一:
example1.htm
-------------------------------------
<html>
<head>
<title>无刷新</title>

<script   language="JavaScript"   type="text/javascript">
function   GetData(url)
{
                url="example1.asp";//调用页面
                try
                {
                                DataLoad.src   =   url;
                }
                catch(e)
                {
                return   false;
                }
                {
                var   timeoutid   =   setTimeout("GetData()",1000)
                }
}
</script>
<script   id="DataLoad"   language="JavaScript"   type="text/javascript"   defer></script>

<body     onLoad="javascript:GetData();">
<span   id=loadcontent>数据载入中……</span>
</body>
-------------------------------------
数据调用程序:example1.asp
--------------------------------------
loadcontent.innerHTML="<%=now()%>"

例二:
example2.htm
-------------------------------------
<HTML>
<head>
<title>无刷新</title>

<script   language="javascript">
function   GetData()
{
url="example2.asp";//调用页面

  var   http   =   new   ActiveXObject("Microsoft.XMLHTTP");
  http.open("GET",url,false);
  http.send();
  var   str   =   http.responseText;
  loadcontent.innerHTML=str;
  setTimeout("GetData()",1000);
}
</script>

</head>
<BODY   οnlοad="javascript:GetData();">
<span   id="loadcontent">数据载入中……</span>
</BODY>
</HTML>
-------------------------
数据调用程序:example2.asp
---------------------------
<%=now%>
--------------------------- 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
SwipeRefreshLayout 是一个 Android 支持库中提供的下拉刷新控件,可以实现下拉刷新数据的功能。如果需要实现上拉加载更多数据的功能,可以结合 RecyclerView 或 ListView 等列表控件使用,利用它们的滑动监听事件来实现上拉加载更多数据的功能。 具体实现步骤如下: 1. 在布局文件中添加 SwipeRefreshLayout 和 RecyclerView 或 ListView 控件。 2. 在 Activity 或 Fragment 中获取 SwipeRefreshLayout 和 RecyclerView 或 ListView 控件的引用。 3. 设置 SwipeRefreshLayout 的刷新监听事件,在 onRefresh() 方法中更新数据并通知列表控件刷新数据。 4. 设置 RecyclerView 或 ListView 的滑动监听事件,在 onScrollStateChanged() 方法中判断是否滑动到底部,如果是,则加载更多数据并通知列表控件更新数据。 示例代码如下: ``` // 布局文件 <androidx.swiperefreshlayout.widget.SwipeRefreshLayout android:id="@+id/swipe_refresh_layout" android:layout_width="match_parent" android:layout_height="match_parent"> <androidx.recyclerview.widget.RecyclerView android:id="@+id/recycler_view" android:layout_width="match_parent" android:layout_height="match_parent" /> </androidx.swiperefreshlayout.widget.SwipeRefreshLayout> // Activity 或 Fragment private SwipeRefreshLayout mSwipeRefreshLayout; private RecyclerView mRecyclerView; private MyAdapter mAdapter; private List<MyData> mDataList; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mSwipeRefreshLayout = findViewById(R.id.swipe_refresh_layout); mRecyclerView = findViewById(R.id.recycler_view); // 初始化数据 mDataList = new ArrayList<>(); mAdapter = new MyAdapter(mDataList); mRecyclerView.setAdapter(mAdapter); // 设置 SwipeRefreshLayout 的刷新监听事件 mSwipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { @Override public void onRefresh() { // 更新数据并通知列表控件刷新数据 mDataList.clear(); loadData(); mAdapter.notifyDataSetChanged(); mSwipeRefreshLayout.setRefreshing(false); } }); // 设置 RecyclerView 的滑动监听事件 mRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() { @Override public void onScrollStateChanged(@NonNull RecyclerView recyclerView, int newState) { super.onScrollStateChanged(recyclerView, newState); if (newState == RecyclerView.SCROLL_STATE_IDLE) { LinearLayoutManager layoutManager = (LinearLayoutManager) recyclerView.getLayoutManager(); // 判断是否滑动到底部 if (layoutManager.findLastVisibleItemPosition() == mAdapter.getItemCount() - 1) { // 加载更多数据并通知列表控件更新数据 loadMoreData(); mAdapter.notifyDataSetChanged(); } } } }); // 加载数据 loadData(); } // 加载数据 private void loadData() { // TODO: 加载数据 } // 加载更多数据 private void loadMoreData() { // TODO: 加载更多数据 } ``` 注意:在加载更多数据时,应该避免重复加载,可以设置一个标志位来判断是否正在加载中,避免重复加载数据
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值