import android.os.Bundle;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import com.bawei.new1.adapter.RecyAdapter;
import com.bawei.new1.presenter.ShowPresenter;
import com.bawei.new1.view.IView;
import com.scwang.smartrefresh.layout.SmartRefreshLayout;
import com.scwang.smartrefresh.layout.api.RefreshLayout;
import com.scwang.smartrefresh.layout.listener.OnLoadmoreListener;
import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
import com.scwang.smartrefresh.layout.listener.OnRefreshLoadmoreListener;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
public class MainActivity extends AppCompatActivity implements View.OnClickListener,IView {
private EditText edtext;
private Button button;
private SmartRefreshLayout refresh;
private RecyclerView recyView;
private ShowPresenter showPresenter;
private Handler handler = new Handler();
private int page=1;
private RecyAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
showPresenter = new ShowPresenter();
showPresenter.getAttachView(this);
initView();
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
recyView.setLayoutManager(linearLayoutManager);
}
//內存泄漏
@Override
protected void onDestroy() {
super.onDestroy();
showPresenter.getDeachView(this);
}
private void initView() {
edtext = (EditText) findViewById(R.id.edtext);
button = (Button) findViewById(R.id.button);
button.setOnClickListener(this);
refresh = (SmartRefreshLayout) findViewById(R.id.refresh);
recyView = (RecyclerView) findViewById(R.id.recy_view);
refresh.setOnRefreshListener(new OnRefreshListener() {
@Override
public void onRefresh(RefreshLayout refreshlayout) {
adapter.notifyDataSetChanged();
refreshlayout.finishRefresh();
}
});
refresh.setOnLoadmoreListener(new OnLoadmoreListener() {
@Override
public void onLoadmore(RefreshLayout refreshlayout) {
page++;
String tex = edtext.getText().toString();
if (tex.length()>0){
showPresenter.getData(tex,page);
}
refreshlayout.finishLoadmore();
}
});
refresh.setEnableRefresh(true);
refresh.setEnableLoadmore(true);
refresh.finishLoadmore();
refresh.finishRefresh();
}
@Override
public void showData(final String json) {
handler.post(new Runnable() {
@Override
public void run() {
try {
JSONObject jsonObject = new JSONObject(json);
JSONArray result = jsonObject.getJSONArray("result");
adapter = new RecyAdapter(MainActivity.this,result);
recyView.setAdapter(adapter);
} catch (JSONException e) {
e.printStackTrace();
}
}
});
}
@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.button:
page=1;
String textt = edtext.getText().toString();
if (textt.isEmpty()){
Toast.makeText(this, "搜索內容不能爲空", Toast.LENGTH_SHORT).show();
return;
}else {
showPresenter.getData(textt,page);
}
}
}
}