我感兴趣的问题是如何让按钮了解它属于哪个 Itemy,并在向服务器发送请求的同时转到 Activity 以在此处加载此 Activity 上的数据
包 com.maikmarelostydios.a240417gid;
导入 android.content.Intent;导入 android.support.v7.widget.RecyclerView;导入 android.view.LayoutInflater;导入 android.view.View;导入 android.view.ViewGroup;导入 android.widget.Button;导入 android.widget.TextView;导入 android.widget.Toast;
导入java.util.List;
公共类 HotelAdapter 扩展了 RecyclerView.Adapter{
private List<Hotel> list;
public HotelAdapter(List<Hotel> list) {
this.list = list;
}
@Override
public UserViewHotel onCreateViewHolder(ViewGroup parent, int viewType) {
return new UserViewHotel(LayoutInflater.from(parent.getContext()).inflate(R.layout.view_hotel , parent, false));
}
@Override
public void onBindViewHolder(UserViewHotel holder, final int position) {
Hotel hotel = list.get(position);
holder.TvName.setText(hotel.name);
holder.TvStar.setText("star:"+hotel.star + "");
holder.btPodrob.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(view.getContext(),HotelViewActivity.class);
intent.putExtra(HotelViewActivity.EXTRA_POS, position);
view.getContext().startActivity(intent);
Toast.makeText(view.getContext(),"Loading", Toast.LENGTH_SHORT).show();
}
});
}
@Override
public int getItemCount() {
return list.size();
}
class UserViewHotel extends RecyclerView.ViewHolder{
TextView TvName, TvStar;
Button btPodrob;
public UserViewHotel(View itemView) {
super(itemView);
TvName = (TextView) itemView.findViewById(R.id.TvName);
TvStar = (TextView) itemView.findViewById(R.id.TvStar);
btPodrob = (Button) itemView.findViewById(R.id.btPodrob);
}
}
}
删除代码:
然后
ViewHolder写intent_putExtra然后在
activity其中intent添加一个静态变量并在方法中
onCreate如果您将从数据库接收数据,请执行以下操作:
按行