cuốn sách gpt4 ai đã làm

Làm cách nào để đặt onClickListener trên bố cục có sẵn?

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-03 01:02:24 hai mươi bốn 4
mua khóa gpt4 Nike

Tôi có bố cục có ImageButton mà tôi đưa vào trong một số bố cục khác.

Bố cục nút hình ảnh:

call_cancelled.xml


xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >


android:id="@+id/callEndLayout"
android:layout_width="70dp"
android:layout_height="70dp"
android:chiều cao="70dip"
android:orientation="ngang"
android:paddingBottom="5dp"
android:paddingTop="5dp" >


android:id="@+id/phoneEnd"
android:layout_width="63dp"
android:layout_height="63dp"
android:paddingBottom="7dp"
android:background="@drawable/phone_cancelled" />


Của tôi bao gồm:

  
android:id="@+id/includeCallEnd0"
android:layout_width="70dp"
android:layout_height="70dp"
android:layout_alignBottom="@+id/include"
android:layout_alignParentRight="true"
bố cục="@layout/call_cancelled" />

Để làm điều này tôi cần có onClickListener khi nhấn.我试过这个:

Xem endcall0 = (Xem) findViewById(R.id.includeCallEnd0);

endcall0.setOnClickListener(OnClickListener mới() {

@Ghi đè
khoảng trống công khai trênClick(Xem arg0) {

Ý định callIntent = Ý định mới(Intent.ACTION_CALL_BUTTON);
startActivity(callIntent);

int id = viewFlipper.getDisplayedChild();

nếu (id == 0) {
ẩnSoftKeyboard();
}
}
});

Nhưng nó không hoạt động. Có ai biết một giải pháp?

câu trả lời hay nhất

Sẽ findViewById(R.id.includeCallEnd0) Thay thế bằng findViewById(R.id.includeCallEnd0).findViewById(R.id.phoneEnd) nó sẽ hoạt động

Bởi vì bạn muốn đặt trình nghe nhấp chuột trên ImageButton thay vì toàn bộ bố cục


Đặt OnClickListener một lần bằng cách sử dụng chức năng sau:

void tĩnh riêng applyListener(Xem con, trình nghe OnClickListener) {
nếu (con == null)
return;

if (phiên bản con của ViewGroup) {
applyListener((ViewGroup) con, người nghe);
}
khác nếu (con != null) {
if(child.getId() == R.id.phoneEnd) {
child.setOnClickListener(người nghe);
}
}
}

void tĩnh riêng áp dụngListener (cha mẹ của ViewGroup, trình nghe OnClickListener) {
for (int i = 0; i < parent.getChildCount(); i++) {
Xem con = parent.getChildAt(i);
if (phiên bản con của ViewGroup) {
applyListener((ViewGroup) con, người nghe);
} khác {
applyListener(con, người nghe);
}
}
}

sử dụngapplyListener(rootView, yourOnClickListener);

Làm cách nào để đặt onClickListener trên bố cục có sẵn? , chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/19226259/

hai mươi bốn 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress