Android Studio 我想为cardView上的imageView设置onClicklistener,但特定xml文件中不存在该imageView

zzoitvuj  于 2023-01-17  发布在  Android
关注(0)|答案(1)|浏览(149)

我有主活动及其xml文件,其中包含列表视图,我有一个项目布局,其中包含带有imageview的cardview和一些相对布局,我有一个适配器,用于使用数据库中的数据填充列表视图
Overview of the layout
我有一个数据库中的表,和一个适配器连接我的列表视图现在当我尝试设置一个onclicklistener上的imageview如下所示(图像)它显示错误java.lang.NullPointerException:尝试对空对象引用调用虚拟方法“void android.widget.ImageView.setOnClickListener(android.view.View$OnClickListener)”

vaj7vani

vaj7vani1#

您没有初始化imageView。请在getView中添加以下行以及其他textView。

ImageView icDownarrow = (ImageView) view.findViewById(R.id.icUparrow);

全局删除以下变量(第29行)

ImageView icDownarrow,icUparrow;

最终输出将为

TextView timetxt = (TextView) view.findViewById(R.id.timetxt);
TextView codetxt = (TextView) view.findViewById(R.id.codetxt);
TextView moduletxt = (TextView) view.findViewById(R.id.moduletxt);
TextView stafftxt = (TextView) view.findViewById(R.id.stafftxt);
ImageView icDownarrow = (ImageView) view.findViewById(R.id.icUparrow);

icDownarrow.setOnClickListener(new View.OnClickListener() {
    @RequiresApi(api = Build.VERSION_CODES.KITKAT)
    @Override
    public void onClick(View view) {
        if (expandedLay.getVisibility() == View.GONE) {
            TransitionManager.beginDelayedTransition(cardView, new AutoTransition());
            expandedLay.setVisibility(View.VISIBLE);
            icDownarrow.setVisibility(View.GONE);
        } else {
            TransitionManager.beginDelayedTransition(cardView, new AutoTransition());
            expandedLay.setVisibility(View.GONE);
        }
    }
});

相关问题