package sample.kingja.loadsir.target; import android.content.Context; import android.os.Bundle; import android.os.SystemClock; import android.view.View; import android.widget.TextView; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; import sample.kingja.loadsir.callback.EmptyCallback; import sample.kingja.loadsir.callback.LoadingCallback; import com.kingja.loadsir.callback.Callback; import com.kingja.loadsir.core.LoadService; import com.kingja.loadsir.core.LoadSir; import com.kingja.loadsir.core.Transport; import sample.kingja.loadsir.R; import sample.kingja.loadsir.PostUtil; /** * Description:TODO * Create Time:2017/9/4 10:12 * Author:KingJA * Email:kingjavip@gmail.com */ public class NormalActivity extends AppCompatActivity { private LoadService loadService; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_content); // Your can change the callback on sub thread directly. loadService = LoadSir.getDefault().register(this, new Callback.OnReloadListener() { @Override public void onReload(View v) { // Your can change the status out of Main thread. new Thread(new Runnable() { @Override public void run() { loadService.showCallback(LoadingCallback.class); //do retry logic... SystemClock.sleep(500); //callback loadService.showSuccess(); } }).start(); } }).setCallBack(EmptyCallback.class, new Transport() { @Override public void order(Context context, View view) { TextView mTvEmpty = view.findViewById(R.id.tv_empty); mTvEmpty.setText("fine, no data. You must fill it!"); } }); PostUtil.postCallbackDelayed(loadService, EmptyCallback.class); } }