Forum für diejenigen, die für Android programmieren
	
		
		
		
			
				
																			
								Anonymous  
									
						
		
						
						
		 
		
						
						 Warum erscheint das Menü zum Kopieren/Einfügen von Kontext nicht, wenn ich in einem Recyclerview-Element einen langen Te 
													
							
						
									
						Post 
					 
								by Anonymous  19 Aug 2025, 09:02 
			
			
			
			
			Während des Recycling- und Wiederverwendungsprozesses von Recyclerview (Elemente/Ansichten). Warum erscheint das Menü Kopieren/Einfügen nicht, wenn ich in einem Recyclerview-Element lange drücke, wenn ich Holder verwende.
Code: Select all 
fun setTextCustomStyle(textView: TextView) {
val context = textView.context
textView.highlightColor = context.getColor(R.color.mj_color_black_08_transparent)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
textView.setTextSelectHandleLeft(R.drawable.text_select_handle_left_mtrl)
textView.setTextSelectHandleRight(R.drawable.text_select_handle_right_mtrl)
textView.setTextSelectHandle(R.drawable.text_select_handle_middle_mtrl)
}
textView.movementMethod = object : LinkMovementMethod() {
override fun onTouchEvent(widget: TextView, buffer: Spannable, event: MotionEvent): Boolean {
if (widget.isTextSelectable) {
super.onTouchEvent(widget, buffer, event)
}
return false
}
}
textView.customSelectionActionModeCallback = object : ActionMode.Callback {
override fun onCreateActionMode(mode: ActionMode?, menu: Menu?): Boolean {
Selection.selectAll(textView.text as? Spannable)
return true
}
override fun onPrepareActionMode(mode: ActionMode?, menu: Menu?): Boolean {
return false
}
override fun onActionItemClicked(mode: ActionMode, item: MenuItem): Boolean {
if (item.itemId == android.R.id.copy) {
val plainText = (textView.text ?: "").subSequence(textView.selectionStart, textView.selectionEnd).toString()
val clipboardManager = context.getSystemService(ClipboardManager::class.java) as ClipboardManager
clipboardManager.apply {
val clip = ClipData.newPlainText("plainText", plainText)
setPrimaryClip(clip)
}
ToastUtil.show(R.string.already_copy)
mode.finish()
return true
}
return false
}
override fun onDestroyActionMode(mode: ActionMode?) {
if (textView is EditText) {
textView.requestFocus()
}
}
}
textView.setTextIsSelectable(true)
if (textView is EditText) {
textView.setOnLongClickListener {
if (textView.text.isNullOrEmpty() && textView.isFocused) {
textView.setSelection(0)
} else {
textView.selectAll()
}
false
}
} else {
textView.setOnLongClickListener {
false
}
}
}
So verwende ich das Kontextmenü
										
						 
		 
				
		
		 
	 
	1755586976 
Anonymous 
Während des Recycling- und Wiederverwendungsprozesses von Recyclerview (Elemente/Ansichten). Warum erscheint das Menü Kopieren/Einfügen nicht, wenn ich in einem Recyclerview-Element lange drücke, wenn ich Holder verwende.[code]fun setTextCustomStyle(textView: TextView) { 
  
	
	
	
		
		
								
				
					
												
					 
					0 Replies  
					6 Views  
					
						Last post  by Anonymous 															
									 
														19 Aug 2025, 09:02 
						 
				 
			 
											
				
					
												
					 
					0 Replies  
					38 Views  
					
						Last post  by Anonymous 															
									 
														22 Dec 2024, 06:58 
						 
				 
			 
											
				
					
												
					 
					0 Replies  
					46 Views  
					
						Last post  by Guest 															
									 
														22 Dec 2024, 07:35 
						 
				 
			 
											
				
					
												
					 
					0 Replies  
					30 Views  
					
						Last post  by Anonymous 															
									 
														03 Mar 2025, 23:03 
						 
				 
			 
											
				
					
												
					 
					0 Replies  
					21 Views  
					
						Last post  by Anonymous 															
									 
														04 Mar 2025, 04:15