2015-12-17 18 views
5

Như tôi biết chúng ta có thể xác định thẻ onClick trong xml sau khi viết trong xml chúng ta có thể sử dụng trong mã java một cách dễ dàng bởi cái tên đó chỉ định trong xml ví dụLàm thế nào để Thực hiện OnTouch Listener trong XML

<Button android:id="@+id/mybutton" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Button" 
    android:onClick="myClick" /> 

public void myClick(View v) { 
    // does something very 
} 

1) Là bất kỳ cách xác định onTouch trong XML nếu có thì cách sử dụng ???

2) Hoặc bất kỳ cách nào khác để triển khai onTouch Trình nghe bên trong onClick người nghe;

đây mục đích của tôi là để tương tác hơn 100 nút mà không cần xác định Buttons tên như đề cập dưới đây: và cũng có chức năng onTouch ...

Button mbutton; 
    mbutton = (Button)findViewbyId(R.id.button); 

Cảm ơn

+1

Về cơ bản, bạn có thể xác định thuộc tính tùy chỉnh cho điều đó. –

+0

Bản sao có thể có của [android: onClick listener for just onTouch in XML] (http://stackoverflow.com/questions/13909217/androidonclick-listener-for-just-ontouch-in-xml) –

+0

Dude not possible – Amy

Trả lời

4

1) Có cách nào để xác định onTouch trong XML nếu có thì cách sử dụng ???

Không, không có thuộc tính mặc định được cung cấp bởi Android cho phép bạn xác định sự kiện liên lạc trong xml tập tin, bạn phải viết các phương pháp trong java file.

2) Hoặc bất kỳ cách nào khác để triển khai Trình xử lý nghe nhạc bên trong trình nghe onClick;

Không, bạn không thể thực hiện onTouch() bên onClick() vì sự kiện onClick được gọi khi bạn chạm vào hoặc nói nhấp chuột hoặc chạm vào màn hình cho lần đầu tiên và thực hiện sự kiện này khi bạn phát hành cảm ứng. Nhưng không thể phát hiện chuyển động của liên lạc của bạn, tức là ACTION_DOWN, ACTION_UP, v.v.

Vì vậy nếu bạn muốn thực hiện onTouch() sự kiện, bạn sẽ tự viết nó.

Bạn có thể viết một số cơ chế có thể cho phép bạn triển khai sự kiện onTouch() dễ dàng. Nhưng thay vì làm điều đó tôi muốn đề nghị bạn sử dụng thư viện Butterknife mà sẽ cho phép bạn viết phương thức onTouch() dễ dàng chỉ bằng cách xác định annotation. Here's the code cách chúng đã gắn onTouch() vào chú thích (trong trường hợp bạn muốn viết cơ chế của riêng mình).

+0

tôi biết không có thuộc tính mặc định nào có thể định nghĩa thuộc tính tùy chỉnh ??? – Attaullah

+0

acucally tôi cần ACTION_DOWN và UP trong onclick nhưng điều kiện là không để xác định Xem lớp ví dụ Nút mButton phương pháp truy cập trực tiếp. như đã đề cập trong câu hỏi của tôi. – Attaullah

+1

@Attaullah Kiểm tra câu trả lời đã chỉnh sửa – Apurva

0

Theo như tôi biết, bạn không thể đặt mã trực tiếp vào XML. Hãy sửa tôi nếu tôi sai. Bạn phải có mã trong Lớp hoạt động.

Các vấn đề liên quan