我尝试制作onclicklistener函数,但在onBindViewHolder上出现错误
我试图根据id_daftar进行点击,并且我使用的数据库位于网络服务器上
这是我的适配器
import...
import java.util.ArrayList;
public class DataAdapter extends RecyclerView.Adapter<DataAdapter.ViewHolder> {
private ArrayList<AndroidVersion> android;
//----------------------------------------------------------------------------------------------
public DataAdapter (ArrayList<AndroidVersion> android){
this.android = android;
}
@NonNull
@Override
public DataAdapter.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.card_row,parent, false);
return new ViewHolder(v);
}
//----------------------------------------------------------------------------------------------
@Override
public void onBindViewHolder(@NonNull DataAdapter.ViewHolder holder,final int position) {
holder.tv_nama_pengusaha.setText(android.get(position).getNama_pengusaha());
holder.tv_nama_usaha.setText(android.get(position).getNama_usaha());
holder.tv_alamat.setText(android.get(position).getAlamat());
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(v.getContext(), DetailActivity.class);
i.putExtra("nama_usaha", android.get(position).getNama_usaha());
v.getContext().startActivity(i);
}
});
}
//----------------------------------------------------------------------------------------------
@Override
public int getItemCount() {
return android.size();
}
public class ViewHolder extends RecyclerView.ViewHolder{
private TextView tv_nama_pengusaha, tv_nama_usaha, tv_alamat, tv_id_daftar, tv_rt,
tv_rw, tv_desa, tv_kecamatan, tv_kategori;
public ViewHolder(@NonNull View itemView) {
super(itemView);
// implement onClick
tv_nama_pengusaha = (TextView)itemView.findViewById(R.id.tv_nama_pengusaha);
tv_nama_usaha = (TextView)itemView.findViewById(R.id.tv_nama_usaha);
tv_alamat = (TextView)itemView.findViewById(R.id.tv_alamat);
}
}
}
这是我的DetailActivity
import...
public class DetailActivity extends AppCompatActivity {
TextView detailData;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_detail);
detailData = findViewById(R.id.tv_nama_usaha);
Intent i = getIntent();
String content = i.getStringExtra("nama_usaha");
detailData.setText(content);
detailData.setMovementMethod(new ScrollingMovementMethod());
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
}
这是我得到的错误
有人可以解释错误的含义和解决方案吗?
R.layout.card_row
中是否存在所有TextView,并且它们具有正确的ID: