Android インターフェイス データの遅延読み込み実装コード

高洛峰
リリース: 2016-12-27 15:16:18
オリジナル
1577 人が閲覧しました

モバイル ニュース クライアントを使用すると、誰もが発見するでしょう。ほとんどのニュース クライアントは、見出し、エンターテイメント、スポーツ、テクノロジーなどのニュースを分類します。このインターフェイスを実装するにはどうすればよいですか?これは実際には非常に簡単に実装できます。Fragment 内で複数の ViewPage の切り替えを実装し、ViewPage の上に TabLayout を配置し、それらを関連付けてリンク効果を実現します。不明な場合は、将来的に Fragments に複数の ViewPage を配置することについて具体的にブログを書くことができます。今日は主にインターフェイス、つまり Fragments の遅延読み込みを実装する方法を紹介します。そうすれば、ロード インターフェイスに直接ロードされるのに、なぜ遅延ロードを使用するのか、誰もが驚くでしょう。これには、遅延読み込みの利点について話す必要があります。前述したように、さまざまなニュース切り替えを実装するほとんどのニュース クライアントの原則は、複数の ViewPages を 1 つの Fragment に保存することです。プログラムに入った後にすべての ViewPages のデータがロードされると、間違いなく APP の実行時間は増加します。遅延読み込みでは、プログラムの開始時にフラグメント内のビューページが 1 つのインターフェイスのみをプリロードし、次のインターフェイスにスライドするまで待機し、次のビューページのデータをロードして、読み込みインターフェイス キャッシュを実装して、これに切り替えることを実現できます。次回インターフェイスはリロードされなくなります。さて、遅延読み込みが使用される理由を明確に説明しましょう。今日の本題に入りましょう。

ステップ 1: フラグメントをカスタマイズし、フラグメントを継承させます
1. setUserVisibleHint メソッドを書き換えます
2. 抽象メソッド LazyInitData() を定義します

package com.jereh.jinritoutiao.fragmentdemo.fragment;
 
import android.support.v4.app.Fragment;
 
/**
 * Created by zhangdi on 2016/8/8.
 */
public abstract class BaseFragment extends Fragment {
protected boolean isVisible = false;
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (isVisibleToUser){
//加载数据
isVisible = true;
   lazyInitData();
  }else {
isVisible = false;
  }
 }
public abstract void lazyInitData();
}
ログイン後にコピー

ステップ 2: まず、定義したフラグメントを継承する別のフラグメントを定義します
1フラグメントのステータスを保存するグローバル変数を定義し (このステップはキャッシュ インターフェイスの準備です)、フラグメントのビュー コントロールの準備ができていることと、現在のフラグメントがデータをロードしているかどうかを示す 2 つのブール変数を定義します
2. フラグメントのステータスを決定します。ステータスが空であるかどうかを確認し、空の場合は、新しいインターフェイスが生成されます。 3. 親クラスの LazyInitData() メソッドを書き換えて、ここでのメソッド (new android.os.Handler()) を実装します。 ).postDelayed(new Runnable()) は、マルチスレッドを使用して非同期読み込みを実装するため、レイアウトが初期化されるときに、インターフェイス コンポーネントを生成してからデータを読み込む時間があります。

この時点で、Android でのインターフェイス (フラグメント) データの遅延読み込みの目的は達成されました。将来的に複数のインターフェイス間で切り替える必要があり、データにネットワーク リクエストが必要な場合は、遅延読み込みを使用することをお勧めします。

さて、遅延読み込みの紹介は以上です。

以上がこの記事の全内容です。皆さんの学習に役立つことを願っています。また、皆さんも PHP 中国語 Web サイトをサポートしていただければ幸いです。

Android インターフェイス データの遅延読み込み実装コードに関連するその他の記事については、PHP 中国語 Web サイトに注目してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート