我尝试制作onclicklistetener时出错

问题描述 投票:0回答:1

我尝试制作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);
    }
}

这是我得到的错误

enter image description here

有人可以解释错误的含义和解决方案吗?

java android mysql android-studio onclicklistener
1个回答
0
投票
[检查以查看R.layout.card_row中是否存在所有TextView,并且它们具有正确的ID:
© www.soinside.com 2019 - 2024. All rights reserved.