package tech.michaelx.loadinglayout; import android.content.Intent; import android.os.Bundle; import android.os.Handler; import android.support.v4.widget.SwipeRefreshLayout; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.View; import android.view.ViewGroup; import android.widget.Button; import android.widget.TextView; import java.util.List; import tech.michaelx.loadinglibrary.LoadingLayout; /** * Created by michaelx on 2017/9/14. */ public class EmptyActivity extends AppCompatActivity implements View.OnClickListener { private SwipeRefreshLayout mRefreshLayout; private LoadingLayout mLoadingLayout; private RecyclerView mRecyclerView; private RecyclerAdapter mAdapter; private Button mRetryBtn, mEmptyBtn, mCustomBtn1, mCustomBtn2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_sample); initData(); initView(); } private void initView() { mRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.swipe); mRefreshLayout.setEnabled(false); mLoadingLayout = (LoadingLayout) findViewById(R.id.loading_layout); mRecyclerView = (RecyclerView) findViewById(R.id.list); mRecyclerView.setLayoutManager(new LinearLayoutManager(this)); mAdapter = new RecyclerAdapter(); mRecyclerView.setAdapter(mAdapter); mRetryBtn = (Button) findViewById(R.id.retry_btn); mEmptyBtn = (Button) findViewById(R.id.empty_btn); mCustomBtn1 = (Button) findViewById(R.id.custom1); mCustomBtn2 = (Button) findViewById(R.id.custom2); mRetryBtn.setOnClickListener(this); mEmptyBtn.setVisibility(View.GONE); mCustomBtn1.setVisibility(View.GONE); mCustomBtn2.setVisibility(View.GONE); } private void initData() { // data is simulated by delaying 3 seconds new Handler().postDelayed(new Runnable() { @Override public void run() { // data is empty mLoadingLayout.showEmpty(); } }, 3000); } @Override public void onClick(View v) { startActivity(new Intent(this, RetryActivity.class)); } class RecyclerAdapter extends RecyclerView.Adapter<RecyclerAdapter.RecyclerVH> { private List<String> mData; public RecyclerAdapter() { } @Override public RecyclerAdapter.RecyclerVH onCreateViewHolder(ViewGroup parent, int viewType) { return new RecyclerAdapter.RecyclerVH(new TextView(EmptyActivity.this)); } @Override public void onBindViewHolder(RecyclerAdapter.RecyclerVH holder, int position) { holder.mItemView.setText(mData.get(position)); } @Override public int getItemCount() { return mData == null ? 0 : mData.size(); } class RecyclerVH extends RecyclerView.ViewHolder { public TextView mItemView; public RecyclerVH(View itemView) { super(itemView); mItemView = (TextView) itemView; } } } }