Android 从自定义TableRow内的按钮接收活动中的OnClick事件

Android 从自定义TableRow内的按钮接收活动中的OnClick事件,android,onclicklistener,android-tablelayout,Android,Onclicklistener,Android Tablelayout,我在活动中使用不同的表格布局和自定义表格行。 设置TableLayout时,我为按钮和整个TableRow添加了一个OnClick侦听器: tr.getButton().setOnClickListener(new Button.OnClickListener() { public void onClick(View v) { Log.d(null, "BTN CLICK"); } }); tr.setOnClickListener(new View.OnClic

我在活动中使用不同的表格布局和自定义表格行。 设置TableLayout时,我为按钮和整个TableRow添加了一个OnClick侦听器:

tr.getButton().setOnClickListener(new Button.OnClickListener() {
   public void onClick(View v) {
      Log.d(null, "BTN CLICK");
   }    
});
tr.setOnClickListener(new View.OnClickListener() {
   public void onClick(View view) {
      Log.d(null, "TR CLICK");
   }
});
问题是,TableRow的侦听器正在启动,但按钮的侦听器没有启动

有什么想法吗?提前谢谢

编辑:

好的,还有更多的细节

TableRow构造函数:

public ItemTableRow(Context context, final Item item) {
        super(context);
        this.item = item;

        LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
        params.setMargins(10, 0, 10, 0);

        buttonRemoveItem = new ImageButton(context);
        buttonRemoveItem.setBackgroundResource(R.drawable.remove);

        buttonRemoveItem.setLayoutParams(params);
        this.addView(buttonRemoveItem);

        TextView nameTextView = new TextView(context);
        nameTextView.setText(item.getName());
        nameTextView.setTextSize((float) 22.0);

        nameTextView.setLayoutParams(params);
        this.addView(nameTextView);
    }
吸气剂:

public ImageButton getButtonRemoveItem() {
    return buttonRemoveItem;
}
以及活动中表格布局填充内容的相关部分:

final ItemTableRow tr = new ItemTableRow(MeetingViewActivity.this, getMeeting().getSections().get(i));
                tr.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT));
                tr.getButtonRemoveItem().setOnClickListener(new ImageButton.OnClickListener() {
                    public void onClick(View v) {
                        Log.d("service", "BTN CLICK");

                    }
                });

                tr.setOnClickListener(new View.OnClickListener() {
                    public void onClick(View view) {
                        Intent intent = new Intent(MeetingViewActivity.this, SectionViewActivity.class);
                        Bundle bundle = new Bundle();
                        bundle.putSerializable("item", tr.getItem());
                        intent.putExtras(bundle);
                        startActivityForResult(intent, 0);
                    }
                });

                tr.setPadding(40, 10, 0, 10);
                tableSections.addView(tr);
            }

tr.getButton()返回的内容???tr构造函数指定button=newImageButton(上下文);按钮的getter只返回按钮引用publicmagebutton getButton(){return button;}