Я только что создал ScrollView
, у которого есть LinearLayout
внутри. У этого LinearLayout
есть кнопка сверху, и я ничего не могу сделать. Кнопка onClickListener не вызывается.Кнопка, не вызывающая OnClickListener
Я хочу определить, когда пользователь нажимает LinearLayout
и при нажатии кнопки.
Вот мой код:
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» или печать на консоль ..
Нет необходимости, XML пуст (есть только родительский LinearLayout), everithing создается кодом. – Benetz
В порядке, где вы добавили 'headerButton'? – Elltz
Вы пытались использовать метод '.setClickable();'? – freddiev4