2012-05-15 25 views
5

Tôi có một văn bản và tôi muốn dán một số văn bản vào đó. Tôi có thể sao chép các văn bản từ một số trang web nhưng tôi không thể dán văn bản trong điều khiển edittext của tôi. Làm thế nào tôi có thể kích hoạt edittext của tôi để dán một số văn bản.Here là main.xml của tôi cho edittext;tùy chọn dán cho edittext

enter code here 

<EditText 
    android:id="@+id/enter" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:layout_weight= "2" 
android:scrollbars="vertical" 
android:textColor="@color/black" 
/> 

Cảm ơn

+0

Bạn muốn làm điều đó theo chương trình? –

+1

yes.if người dùng đặt ngón tay vào bên trong văn bản, làm cách nào tôi có thể hiển thị tùy chọn dán? – artist

+2

Vâng, người dùng sẽ có thể thấy tùy chọn dán, nếu anh ta nhấn và giữ văn bản chỉnh sửa. Điều đó có hiệu quả không? –

Trả lời

6

Đây là trên Android 4.4.2 Samsung S4 ;

Tài liệu cho TextView nói rằng:

Để cho phép người dùng sao chép một phần hoặc toàn bộ giá trị của TextView và dán nó ở một nơi khác, thiết lập các thuộc tính XML android: textIsSelectable để "true" hoặc hãy gọi setTextIsSelectable (true). Cờ textIsSelectable cho phép người dùng thực hiện các cử chỉ lựa chọn trong TextView, mà lần lượt kích hoạt các điều khiển sao chép/dán tích hợp của hệ thống.

Ngoài ra còn có một bản ghi Textview khác gọi là android:cursorVisible xác định xem hệ thống có nên được gọi về lệnh gọi lại sao chép/dán hay không.

Theo mặc định, tôi tin rằng cả hai điều này là đúng và cơ chế lựa chọn/sao chép/dán đã được bật. Tôi không thể thay đổi hành vi đó bằng cách sử dụng android:textIsSelectable="false" nhưng nếu tôi đặt android:cursorVisible="false" thì ban đầu bạn không thể dán bất kỳ nội dung nào bên trong EditText. Chỉ sau khi bạn nhập nội dung nào đó, hành vi con trỏ và chọn sẽ được bật lại. Có lẽ điều này nên được xử lý bên trong mã thay vì trong xmls bố cục, hoặc nó có thể liên quan đến android:inputType mà cũng không tạo ra sự khác biệt cho tôi.

Vì vậy, hãy thử đặt android:cursorVisible="true" trong bố cục EditText của bạn xml nếu dán không được bật theo mặc định.

0

Hãy thử thiết lập các inputType="text" cho EditText lĩnh vực

1

Theo vấn đề của bạn nếu bạn đã sao chép một số dữ liệu bất cứ nơi nào trên hệ thống của bạn và bạn muốn dán nó vào một số biến cụ thể, như Chỉnh sửa TextBox, Textview vv, sau đó mã này chắc chắn sẽ giúp bạn.

ClipboardManager clipMan = (ClipboardManager)getSystemService(v.getContext().CLIPBOARD_SERVICE); 
myEdtTxt.setText(clipMan.getText()); 

Lưu ý: - đây đối tượng clipMan sẽ lưu trữ dữ liệu bất cứ khi nào quá trình sao chép diễn ra và chúng tôi sẽ trả lại dữ liệu đó từ đối tượng đó và sẽ thiết lập nó,

2

Để kích hoạt sao chép/dán tiêu chuẩn cho TextView, U có thể chọn một trong các cách sau: Thay đổi trong file layout: Hoặc thêm dưới đây sở hữu đến TextView của mình

android:textIsSelectable="true" 

và Trong lớp Java của bạn viết này để đặt nó theo chương trình.

myTextView.setTextIsSelectable(true); 

nếu đoạn thử với

mContext.myTextView.setTextIsSelectable(true); 

Và dài báo chí trên TextView bạn có thể nhìn thấy thanh hành động copy/paste.

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