MainActivity
private ListViewAdapter mAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
RecyclerView lv = findViewById(R.id.list);
GridView grid = findViewById(R.id.grid);
// GridLayoutManager recyclerViewLayoutManager = new GridLayoutManager(this, 3);
//grid.setAdapter(mAdapter);
mAdapter = new ListViewAdapter(this);
lv.setAdapter(mAdapter);
lv.setLayoutManager(new LinearLayoutManager(Main2Activity.this,LinearLayout.VERTICAL,false));
String url="http://www.xieast.com/api/news/news.php?page=1";
HttpUtil httpUtil = new HttpUtil(this);
httpUtil.HttpUtils(url);
ImageView sao = findViewById(R.id.sao);
sao.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(Main2Activity.this, Main3Activity.class);
startActivityForResult(intent,5);
}
});
}
@Override
public void util(String work) {
Gson gson = new Gson();
final Response json = gson.fromJson(work, Response.class);
runOnUiThread(new Runnable() {
@Override
public void run() {
mAdapter.setData(json.getData());
}
});
}
Adapter
public class ListViewAdapter extends RecyclerView.Adapter<ListViewAdapter.ViewHolder> {
private Context mContext;
ArrayList<Bean> mList;
private ViewHolder mHolder;
public ListViewAdapter(Context context) {
mContext = context;
mList = new ArrayList<>();
}
public void setData(ArrayList<Bean> json) {
this.mList.clear();
if(json!=null){
this.mList.addAll(json);
}
notifyDataSetChanged();
}
public static class ViewHolder extends RecyclerView.ViewHolder {
ImageView icon;
TextView title;
public ViewHolder(View itemView) {
super(itemView);
icon =itemView.findViewById(R.id.icon);
title =itemView.findViewById(R.id.title);
}
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
View view = View.inflate(mContext, R.layout.item_list,null);
mHolder = new ViewHolder(view);
return mHolder;
}
@Override
public void onBindViewHolder(ViewHolder viewHolder, int i) {
viewHolder.title.setText(mList.get(i).getDate());
ImageLoader.getInstance().displayImage(mList.get(i).getThumbnail_pic_s(),viewHolder.icon);
}
@Override
public int getItemCount() {
return mList.size();
}
}
HttpUtil
public class HttpUtil {
// String url="http://www.xieast.com/api/news/news.php?page=1";
public void HttpUtils(String s) {
OkHttpClient okHttpClient = new OkHttpClient().newBuilder().build();
Request request = new Request.Builder().url(s).get().build();
Call call = okHttpClient.newCall(request);
call.enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
}
@Override
public void onResponse(Call call, Response response) throws IOException {
String work = response.body().string();
mHttpUtilInterface.util(work);
}
});
}
public interface HttpUtilInterface{
void util(String work);
}
private HttpUtilInterface mHttpUtilInterface;
public HttpUtil(Main2Activity httpUtilInterface) {
mHttpUtilInterface = httpUtilInterface;
}
}
Listview GridView 瀑布流
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.add:
//点击条目
adapter.setData(0,R.mipmap.ic_launcher);
//定位
rv.smoothScrollToPosition(0);
break;
case R.id.delete:
adapter.removeData(0);
break;
case R.id.list:
LinearLayoutManager ListManager = new LinearLayoutManager(this);
rv.setLayoutManager(ListManager);
break;
case R.id.grid:
GridLayoutManager gridManager = new GridLayoutManager(this, 3);
rv.setLayoutManager(gridManager);
break;
case R.id.flow:
StaggeredGridLayoutManager flowManager =
new StaggeredGridLayoutManager(4, StaggeredGridLayoutManager.VERTICAL);
flowManager.setOrientation(LinearLayoutManager.VERTICAL);
rv.setLayoutManager(flowManager);
break;
}
}