XRecyclerView简单实现刷新加载
public class MainActivity extends AppCompatActivity implements Coustent.ViewIml {
private XRecyclerView rcv;
private Presenter presenter;
private ImageView imageView;
private int page = 1;
private int count = 2;
private List<ShowBean.ResultEntity> beans = new ArrayList<>();
private EditText ed;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
intData();
presenter = new Presenter();
LoadData();
}
private void intData() {
rcv = findViewById(R.id.rcv);
ed = findViewById(R.id.ed);
rcv.setPullRefreshEnabled(true);
rcv.setLoadingMoreEnabled(true);
GridLayoutManager gridLayoutManager = new GridLayoutManager(MainActivity.this, 2);
gridLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
rcv.setLayoutManager(gridLayoutManager);
rcv.setLoadingListener(new XRecyclerView.LoadingListener() {
@Override
public void onRefresh() {
page = 1;
LoadData();
}
@Override
public void onLoadMore() {
page++;
LoadData();
}
});
ed.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(MainActivity.this,LiuActivity.class);
startActivity(intent);
}
});
}
@Override
public void getPreData(String data) {
Gson gson = new Gson();
final ShowBean showBean = gson.fromJson(data, ShowBean.class);
MyAdapter myAdapter = new MyAdapter(MainActivity.this,showBean);
rcv.setAdapter(myAdapter);
if (showBean==null||showBean.getResult().size()==0){
Toast.makeText(MainActivity.this,"没有数据了",Toast.LENGTH_LONG).show();
complete();
return;
}
if (page==1){
beans.clear();
}
beans.addAll(showBean.getResult());
myAdapter.notifyDataSetChanged();
complete();
}
private void LoadData() {
presenter.attch(this,UrlAll.url1+"&page="+page+"&count="+count,this);
}
private void complete(){
rcv.refreshComplete();
rcv.loadMoreComplete();
}
}
自定义view与js交互:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_js);
bt = findViewById(R.id.bt);
wv = findViewById(R.id.wv);
wv.setWebChromeClient(new WebChromeClient());
wv.setWebViewClient(new WebViewClient());
WebSettings settings = wv.getSettings();
settings.setJavaScriptEnabled(true);
settings.setJavaScriptCanOpenWindowsAutomatically(true);
wv.loadUrl("file:///android_asset/js.html");
bt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.KITKAT){
wv.evaluateJavascript("callJS()",null);
}
}
});
}