如何在使用<include>标记时使用Onclick事件

时间:2015-09-29 10:16:28

标签: java android android-activity

我有两个 java class 两个布局。 每个布局都包含一个按钮。 这两个类都在扩展Activity。 现在在第一个布局中,我使用 include 标签,就像这样

<include 
    android:id="@+id/clicked" 
    layout="@layout/activity_main" />

我现在可以看到两个按钮,但第二个按钮无效。

1 个答案:

答案 0 :(得分:5)

首先您必须声明并初始化 include 视图,然后使用 view.findViewById()方法对两个按钮进行十进制和初始化,如下所示:

View includeView = (View)findViewById(R.id.clicked);
Button button1 = (Button)includeView.findViewById(R.id.button1ID); //decalre button like this
Button button2 = (Button)includeView.findViewById(R.id.button2ID);

然后设置 onClickListeners

button1.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                //code whatever you want to do here
            }
        });

 button2.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                //code whatever you want to do here
            }
        });

**编辑**

修正了拼写错误。应该 findViewById 上的 includeView 。 但是很好解释!