Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 按钮未调用OnClickListener_Android_Button - Fatal编程技术网

Android 按钮未调用OnClickListener

Android 按钮未调用OnClickListener,android,button,Android,Button,我刚刚创建了一个滚动视图,它内部有一个线性布局。这个LinearLayout在顶部有一个按钮,我无能为力。按钮的onClickListener从未调用 我想检测用户何时按下线性布局以及何时按下按钮 这是我的密码: LinearLayout layout = new LinearLayout(this); layout.setOrientation(LinearLayout.VERTICAL); scrollView.addView(layout); layout.

我刚刚创建了一个
滚动视图
,它内部有一个
线性布局
。这个
LinearLayout
在顶部有一个按钮,我无能为力。按钮的onClickListener从未调用

我想检测用户何时按下
线性布局
以及何时按下按钮

这是我的密码:

    LinearLayout layout = new LinearLayout(this);
    layout.setOrientation(LinearLayout.VERTICAL);
    scrollView.addView(layout);
    layout.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            layoutClick(v);
        }
    });

    LinearLayout.LayoutParams headerParam = new LinearLayout.LayoutParams(
            LinearLayout.LayoutParams.MATCH_PARENT,getDpFromPixel(50));

    //bottone per l'header
    Button headerButton = new Button(this);
    headerButton.setId(findId());
    headerButton.setLayoutParams(headerParam);
    //headerButton.setBackground(getResources().getColor(R.color.button_backgroud));
    //headerButton.setBackground(getResources().getColor(R.color.button_backgroud));
    Drawable d = getResources().getDrawable(R.color.button_backgroud);
    headerButton.setBackground(d);
    headerButton.setText(title);
    headerButton.setTextColor(getResources().getColor(R.color.white));
    headerButton.setGravity(Gravity.CENTER_VERTICAL);
    headerButton.setPadding(70, 0, 0, 0);
    headerButton.setTextAlignment(View.TEXT_ALIGNMENT_TEXT_START);
    headerButton.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            buttonPressed(v);
            System.out.println("button pressed!!");
        }
    });
    layout.addView(headerButton);

“layoutClick”功能正在工作,headerButton从未调用“buttonPressed”功能或打印到控制台

尝试使按钮可聚焦

headerButton.setFocusable(true);
headerButton.setClickable(true);

没有必要,XML是空的(只有父LinearLayout),所有内容都是由代码创建的。好的,您在哪里添加了
标题按钮
?是否尝试使用
.setClickable()方法?@Elltz我只是在粘贴代码后的一行将其添加到布局中,我编辑了这个问题。请参阅下面的帖子。您可能理解为什么不工作按钮不请求焦点,并且它只触发onclick事件,所以为什么真的要添加或需要它。我尝试了,没有任何更改。为什么我需要指定按钮的可点击属性?默认值为false?