У меня есть view
, который динамически добавляет custom view
, сделанный с checkbox
, edittext
и imagebutton
.Я хочу добавить слушателей к imagebutton
, чтобы удалить custom view
(или установить видимость на gone
, если нажата imagebutton
. Это мой код, начиная с более простых вещей:
public void addView() {
LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
final View view = inflater.inflate(R.layout.item_task_list, null);
ImageButton img_btn = findViewById(R.id.delete);
EditText name_et = findViewById(R.id.todo);
CheckBox done_cb = findViewById(R.id.done);
img_btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Do something
}
});
parentLayout.addView(view, parentLayout.getChildCount() - 1);
Это работает, пока у меня нет слушателя. С ним я получаю эту ошибку: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ImageButton.setOnClickListener(android.view.View$OnClickListener)' on a null object reference
Это работает, если я устанавливаю слушателя следующим образом: img_btn.setOnClickListener(this);
изатем используйте метод OnClick
из упражнения. Там у меня есть:
case R.id.delete:
v.getParent().
break;
Но тогда я не могу ни установить видимость на gone
, ни удалить ее.
Это мойПри первом добавлении custom views
, поэтому я не уверен, что мне не хватает, если мне нужно создать класс, настроить слушателя другим способом или как получить к нему доступ.