繁体   English   中英

单击所有按钮的侦听器

[英]Click listener for ALL buttons

我的应用程序中有多个按钮,我想为R.layout.fragment_general中的所有按钮设置一个单击监听器。 这是我尝试过的:

View view = inflater.inflate(R.layout.fragment_general, container, false);
@SuppressLint("ResourceType") ViewGroup group = (ViewGroup) view.findViewById(R.layout.fragment_general);
View v;
for(int i = 0; i < group.getChildCount(); i++) {
    v = group.getChildAt(i);
    if(v instanceof Button) {
        v.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                System.out.println("A button has been clicked");
            }
        });
    }
}

我的应用程序将崩溃,我收到错误消息:

java.lang.NullPointerException: Attempt to invoke virtual method 'int android.view.ViewGroup.getChildCount()' on a null object reference

应该如何正确完成?

java.lang.NullPointerException: Attempt to invoke virtual method 'int android.view.ViewGroup.getChildCount()' on a null object reference

这意味着,您的group是 null。 那是因为这个

@SuppressLint("ResourceType") ViewGroup group = (ViewGroup) view.findViewById(R.layout.fragment_general);

您应该在 findViewbyId() 中写入您的 ViewGroups id,而不是片段布局名称。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM