【发布时间】:2022-05-11 22:19:48
【问题描述】:
我有一个带有 ImageButton 的布局,它包含在其他几个布局中。
图像按钮布局:
call_cancelled.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:id="@+id/callEndLayout"
android:layout_width="70dp"
android:layout_height="70dp"
android:height="70dip"
android:orientation="horizontal"
android:paddingBottom="5dp"
android:paddingTop="5dp" >
<ImageButton
android:id="@+id/phoneEnd"
android:layout_width="63dp"
android:layout_height="63dp"
android:paddingBottom="7dp"
android:background="@drawable/phone_cancelled" />
</LinearLayout>
我的包括:
<include
android:id="@+id/includeCallEnd0"
android:layout_width="70dp"
android:layout_height="70dp"
android:layout_alignBottom="@+id/include"
android:layout_alignParentRight="true"
layout="@layout/call_cancelled" />
为此,我在按下时需要一个 onClickListener。 我试过了:
View endcall0 = (View) findViewById(R.id.includeCallEnd0);
endcall0.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent callIntent = new Intent(Intent.ACTION_CALL_BUTTON);
startActivity(callIntent);
int id = viewFlipper.getDisplayedChild();
if (id == 0) {
hideSoftKeyboard();
}
}
});
但它不起作用。 有人知道解决办法吗?
【问题讨论】:
-
It doesn't work表示代码未编译或应用在运行时崩溃? -
用
findViewById(R.id.includeCallEnd0).findViewById(R.id.phoneEnd)替换findViewById(R.id.includeCallEnd0),它应该可以工作 -
包含什么类型的小部件?它扩展了哪个类?