package com.pedaily.yc.ycstatelayout; import android.content.Intent; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.View; import android.widget.Button; import android.widget.Toast; import com.ns.yc.ycstatelib.OnNetworkListener; import com.ns.yc.ycstatelib.OnRetryListener; import com.ns.yc.ycstatelib.StateLayoutManager; import com.pedaily.yc.ycstatelayout.activity.Test1Activity; import com.pedaily.yc.ycstatelayout.activity.Test2Activity; import com.pedaily.yc.ycstatelayout.activity.Test3Activity; import com.pedaily.yc.ycstatelayout.base.BaseActivity; import java.util.ArrayList; import java.util.List; /** * ================================================ * 作 者:杨充 * 版 本:1.0 * 创建日期:2017/7/6 * 描 述:主页面 * 修订历史: * ================================================ */ public class MainActivity extends BaseActivity { private List<String> lists = new ArrayList<>(); @Override protected void initStatusLayout() { statusLayoutManager = StateLayoutManager.newBuilder(this) .contentView(R.layout.activity_main) .emptyDataView(R.layout.activity_emptydata) .errorView(R.layout.activity_error) .loadingView(getLoading()==0? R.layout.activity_loading : getLoading()) .netWorkErrorView(R.layout.activity_networkerror) //设置空数据页面图片控件id .emptyDataIconImageId(R.id.image) //设置空数据页面文本控件id .emptyDataTextTipId(R.id.tv_content) //设置异常页面图片id .errorIconImageId(R.id.image) //设置异常页面文本id .errorTextTipId(R.id.tv_content) .onRetryListener(new OnRetryListener() { @Override public void onRetry() { //点击重试 showContent(); } }) .onNetworkListener(new OnNetworkListener() { @Override public void onNetwork() { //网络异常,点击重试 showLoading(); } }) .build(); } private int getLoading() { return R.layout.activity_loading3; } @Override protected void initView() { showLoading(); initViewContent(); initData(); initRecycleView(); } private void initViewContent() { Button btn_empty = (Button) findViewById(R.id.btn_empty); Button btn_error = (Button) findViewById(R.id.btn_error); Button btn_network_error = (Button) findViewById(R.id.btn_network_error); Button btn_test = (Button) findViewById(R.id.btn_test); Button btn_test2 = (Button) findViewById(R.id.btn_test2); Button btn_test3 = (Button) findViewById(R.id.btn_test3); btn_empty.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { initEmptyDataView(); } }); btn_error.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { initErrorDataView(); } }); btn_network_error.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { initSettingNetwork(); } }); btn_test.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { startActivity(new Intent(MainActivity.this, Test1Activity.class)); } }); btn_test2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { startActivity(new Intent(MainActivity.this, Test2Activity.class)); } }); btn_test3.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { startActivity(new Intent(MainActivity.this, Test3Activity.class)); } }); } private void initRecycleView() { RecyclerView recyclerView = (RecyclerView) findViewById(R.id.recycleView); recyclerView.setLayoutManager(new LinearLayoutManager(this)); MainAdapter adapter = new MainAdapter(lists, this); recyclerView.setAdapter(adapter); adapter.setOnItemClickListener(new HhItemClickListener() { @Override public void onItemClick(View view, int position) { if(lists.size()>position && position>-1){ Toast.makeText(MainActivity.this,"条目"+position+"被点击呢",Toast.LENGTH_SHORT).show(); } } }); showContent(); } protected void initData() { lists.clear(); for(int a=0 ; a<50 ; a++){ lists.add("这是第"+a+"条数据"); } } /** * 点击重新刷新数据 */ private void initEmptyDataView() { //statusLayoutManager.showEmptyData(); statusLayoutManager.showEmptyData(R.drawable.icon_empty,"逗比,没有数据"); } /** * 点击重新刷新 */ private void initErrorDataView() { //statusLayoutManager.showError(); statusLayoutManager.showError(R.drawable.icon_network_error,"逗比,错误数据"); } /** * 点击设置网络 */ private void initSettingNetwork() { statusLayoutManager.showNetWorkError(); } }