-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
wangjing
committed
Jun 19, 2019
1 parent
3e67f83
commit 2acbdb2
Showing
24 changed files
with
1,215 additions
and
31 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
22 changes: 22 additions & 0 deletions
22
bl_demo/src/main/java/com/bailun/bl_demo/listdataview/demo/entitiy/TextBean.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
package com.bailun.bl_demo.listdataview.demo.entitiy; | ||
|
||
/** | ||
* create by wangjing on 2019/6/19 0019 | ||
* description: | ||
*/ | ||
public class TextBean { | ||
|
||
private String content; | ||
|
||
public TextBean(String content) { | ||
this.content = content; | ||
} | ||
|
||
public String getContent() { | ||
return content; | ||
} | ||
|
||
public void setContent(String content) { | ||
this.content = content; | ||
} | ||
} |
21 changes: 21 additions & 0 deletions
21
bl_demo/src/main/java/com/bailun/bl_demo/listdataview/demo/interfaces/DemoMVP.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
package com.bailun.bl_demo.listdataview.demo.interfaces; | ||
|
||
|
||
import com.bailun.bl_demo.listdataview.demo.entitiy.TextBean; | ||
|
||
import java.util.List; | ||
|
||
public interface DemoMVP { | ||
interface IView { | ||
void showFirstData(List<TextBean> beans); | ||
void showMoreData(List<TextBean> beans); | ||
} | ||
interface IPresenter { | ||
void v2pGetFirstData(); | ||
void v2pGetMoreData(); | ||
void v2pGetDataSuccess(int pageIndex, List<TextBean> beans); | ||
} | ||
interface IModel { | ||
void p2mGetDataNet(int pageIndex); | ||
} | ||
} |
48 changes: 48 additions & 0 deletions
48
bl_demo/src/main/java/com/bailun/bl_demo/listdataview/demo/model/ImpDemoModel.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
package com.bailun.bl_demo.listdataview.demo.model; | ||
|
||
|
||
|
||
import com.bailun.bl_demo.listdataview.demo.entitiy.TextBean; | ||
import com.bailun.bl_demo.listdataview.demo.interfaces.DemoMVP; | ||
|
||
import java.util.ArrayList; | ||
import java.util.List; | ||
|
||
public class ImpDemoModel implements DemoMVP.IModel { | ||
private final DemoMVP.IPresenter iPresenter; | ||
|
||
public ImpDemoModel(DemoMVP.IPresenter iPresenter) { | ||
this.iPresenter = iPresenter; | ||
} | ||
|
||
@Override | ||
public void p2mGetDataNet(final int pageIndex) { | ||
List<TextBean> beans = null; | ||
switch (pageIndex){ | ||
case 1: | ||
case 2: | ||
case 3: | ||
beans = new ArrayList<>(); | ||
for (int i = 0; i < 20; i ++){ | ||
beans.add(new TextBean("ListItem_" + (i + (pageIndex - 1) * 20))); | ||
} | ||
break; | ||
default: | ||
break; | ||
} | ||
final List<TextBean> finalBeans = beans; | ||
new Thread(new Runnable() { | ||
@Override | ||
public void run() { | ||
long l = System.currentTimeMillis(); | ||
int s = (int) (l % 200 + 200); | ||
try { | ||
Thread.sleep(s); | ||
} catch (InterruptedException e) { | ||
e.printStackTrace(); | ||
} | ||
iPresenter.v2pGetDataSuccess(pageIndex, finalBeans); | ||
} | ||
}).start(); | ||
} | ||
} |
41 changes: 41 additions & 0 deletions
41
bl_demo/src/main/java/com/bailun/bl_demo/listdataview/demo/presenter/ImpDemoPresenter.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
package com.bailun.bl_demo.listdataview.demo.presenter; | ||
|
||
|
||
|
||
import com.bailun.bl_demo.listdataview.demo.entitiy.TextBean; | ||
import com.bailun.bl_demo.listdataview.demo.interfaces.DemoMVP; | ||
import com.bailun.bl_demo.listdataview.demo.model.ImpDemoModel; | ||
|
||
import java.util.List; | ||
|
||
public class ImpDemoPresenter implements DemoMVP.IPresenter { | ||
private final DemoMVP.IView iView; | ||
private final DemoMVP.IModel iModel = new ImpDemoModel(this); | ||
|
||
private int pageIndex = 1; | ||
public ImpDemoPresenter(DemoMVP.IView iView) { | ||
this.iView = iView; | ||
} | ||
|
||
@Override | ||
public void v2pGetFirstData() { | ||
pageIndex = 1; | ||
iModel.p2mGetDataNet(1); | ||
} | ||
|
||
@Override | ||
public void v2pGetMoreData() { | ||
iModel.p2mGetDataNet(pageIndex + 1); | ||
} | ||
|
||
@Override | ||
public void v2pGetDataSuccess(int pageIndex, List<TextBean> beans) { | ||
this.pageIndex = pageIndex; | ||
if (pageIndex > 1){ | ||
iView.showMoreData(beans); | ||
} else { | ||
iView.showFirstData(beans); | ||
} | ||
} | ||
|
||
} |
97 changes: 97 additions & 0 deletions
97
bl_demo/src/main/java/com/bailun/bl_demo/listdataview/demo/view/ListDataViewActivity.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,97 @@ | ||
package com.bailun.bl_demo.listdataview.demo.view; | ||
|
||
import android.os.Bundle; | ||
import android.support.annotation.Nullable; | ||
import android.support.v4.app.FragmentActivity; | ||
import android.support.v7.widget.LinearLayoutManager; | ||
import android.view.View; | ||
|
||
|
||
import com.bailun.bl_demo.R; | ||
import com.bailun.bl_demo.listdataview.demo.entitiy.TextBean; | ||
import com.bailun.bl_demo.listdataview.demo.interfaces.DemoMVP; | ||
import com.bailun.bl_demo.listdataview.demo.presenter.ImpDemoPresenter; | ||
import com.bailun.bl_demo.listdataview.view.DemoListDataView; | ||
import com.bailun.bl_uilib.listdataview.OnListDataViewEventListener; | ||
|
||
import java.util.ArrayList; | ||
import java.util.List; | ||
|
||
public class ListDataViewActivity extends FragmentActivity implements DemoMVP.IView, View.OnClickListener{ | ||
|
||
private final DemoMVP.IPresenter iPresenter = new ImpDemoPresenter(this); | ||
|
||
private DemoListDataView listDataView; | ||
private TextAdapter adapter; | ||
|
||
@Override | ||
protected void onCreate(@Nullable Bundle savedInstanceState) { | ||
super.onCreate(savedInstanceState); | ||
setContentView(R.layout.activity_list_data_view); | ||
listDataView = findViewById(R.id.ld_content); | ||
adapter = new TextAdapter(); | ||
listDataView.setLayoutManager(new LinearLayoutManager(this)); | ||
listDataView.setAdapter(adapter); | ||
listDataView.setListener(new OnListDataViewEventListener() { | ||
@Override | ||
public void onRetry() { | ||
iPresenter.v2pGetFirstData(); | ||
} | ||
|
||
@Override | ||
public void onLoadMore() { | ||
iPresenter.v2pGetMoreData(); | ||
} | ||
|
||
@Override | ||
public void onRefresh() { | ||
iPresenter.v2pGetFirstData(); | ||
} | ||
}); | ||
iPresenter.v2pGetFirstData(); | ||
findViewById(R.id.btn_empty).setOnClickListener(this); | ||
findViewById(R.id.btn_error).setOnClickListener(this); | ||
findViewById(R.id.btn_no_full).setOnClickListener(this); | ||
} | ||
|
||
|
||
@Override | ||
public void showFirstData(final List<TextBean> beans) { | ||
runOnUiThread(new Runnable() { | ||
@Override | ||
public void run() { | ||
listDataView.setFirstData(beans); | ||
} | ||
}); | ||
} | ||
|
||
@Override | ||
public void showMoreData(final List<TextBean> beans) { | ||
runOnUiThread(new Runnable() { | ||
@Override | ||
public void run() { | ||
listDataView.addMoreData(beans); | ||
} | ||
}); | ||
} | ||
|
||
@Override | ||
public void onClick(View v) { | ||
int id = v.getId(); | ||
switch (id){ | ||
case R.id.btn_empty: | ||
listDataView.setFirstData(null); | ||
break; | ||
case R.id.btn_error: | ||
listDataView.showError(); | ||
break; | ||
case R.id.btn_no_full: | ||
List<TextBean> beans = new ArrayList<>(); | ||
for (int i = 0; i < 10; i++ ){ | ||
beans.add(new TextBean("ListItem_"+i)); | ||
} | ||
listDataView.setFirstData(beans); | ||
break; | ||
} | ||
} | ||
} |
43 changes: 43 additions & 0 deletions
43
bl_demo/src/main/java/com/bailun/bl_demo/listdataview/demo/view/TextAdapter.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
package com.bailun.bl_demo.listdataview.demo.view; | ||
|
||
import android.support.annotation.NonNull; | ||
import android.support.v7.widget.RecyclerView; | ||
import android.view.LayoutInflater; | ||
import android.view.View; | ||
import android.view.ViewGroup; | ||
import android.widget.TextView; | ||
|
||
import com.bailun.bl_demo.R; | ||
import com.bailun.bl_demo.listdataview.demo.entitiy.TextBean; | ||
import com.bailun.bl_uilib.listdataview.ListDataAdapter; | ||
|
||
|
||
/** | ||
* create by wangjing on 2019/6/19 0019 | ||
* description: | ||
*/ | ||
public class TextAdapter extends ListDataAdapter<TextAdapter.ViewHolder, TextBean> { | ||
|
||
@NonNull | ||
@Override | ||
public ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) { | ||
View v = LayoutInflater.from(viewGroup.getContext()) | ||
.inflate(R.layout.list_data_view_item_list, viewGroup, false); | ||
return new ViewHolder(v); | ||
} | ||
|
||
@Override | ||
public void onBindViewHolder(@NonNull ViewHolder viewHolder, int i) { | ||
viewHolder.tv.setText(datas.get(i).getContent()); | ||
} | ||
|
||
static class ViewHolder extends RecyclerView.ViewHolder{ | ||
|
||
TextView tv; | ||
|
||
public ViewHolder(@NonNull View itemView) { | ||
super(itemView); | ||
tv = itemView.findViewById(R.id.tv_item); | ||
} | ||
} | ||
} |
Oops, something went wrong.