[英]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.