dependencies { implementation 'androidx.loader:loader:1.2.0' } public class CustomLoader extends androidx.loader.content.Loader<String> { private String data; public CustomLoader(Context context) { super(context); } @Override protected void onStartLoading() { if (data != null) { deliverResult(data); } else { forceLoad(); } } @Override public String loadInBackground() { return "Loaded data"; } @Override public void deliverResult(String data) { this.data = data; super.deliverResult(data); } } public class MainActivity extends AppCompatActivity implements LoaderManager.LoaderCallbacks<String> { private static final int LOADER_ID = 1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); LoaderManager.getInstance(this).initLoader(LOADER_ID, null, this); } @NonNull @Override public Loader<String> onCreateLoader(int id, @Nullable Bundle args) { return new CustomLoader(this); } @Override public void onLoadFinished(@NonNull Loader<String> loader, String data) { Log.d("TAG", "Loaded data: " + data); } @Override public void onLoaderReset(@NonNull Loader<String> loader) { } }


上一篇:
下一篇:
切换中文