2011-12-22 22 views
6

Bir ListView'in alt öğesi olan EditText'in içinde bir metin seçmek istiyorum. Seçilen metnin bir panoya ayarlanması gerekir. Bununla ilgili herhangi bir örnek bulamıyorum. Bunun için nasıl gitmeliyim? selectionStart ve selectionEnd bunun üzerinde çalışmaz. Teşekkürler.Kopyalama için metin seçin Android EditText

+0

üzgün, sorununuzla için gerekli yazma için çok zaman yok, bir kaç dakika SO arama verdi bana link, bu size yardımcı olabilir. Eğer zaten bunu denediyseniz, ben üzgünüm.http: //stackoverflow.com/questions/2679948/focusable-edittext-inside-listview – kosa

+1

Açıkladığımda yorumda zaman yok. Çok fazla dikte etme. Burada sorun senin ve toplumun size yardım etmeye çalışıyor. Toplumun sizin için herşeyi yazacağını düşünmeyin. Bağlantı yararlı değilse, görmezden gelebilirsiniz. Her yanıtınız dikte ediyor ve bu iyi değil. – kosa

+0

Hey, hiçbir şey dikte etmiyorum. Topluluğun önemsiz cevaplardan korunmasına çalışıyorum. Beni yanlış anlama! –

cevap

0

EditText zaten bu işlevleri uzun bir basışta sağlar .... edit üzerinde uzun bir dokunuşa basmak anlamına gelirTüm içeriği seçerek, tümünü seçip, metni seçip tümünü kopyalayarak açılır.

+0

Lütfen bunu bir liste görünümünde yapmayı deneyin ve daha sonra tartışabiliriz. –

+0

Üzgünüm, ListView'de aynı şeyi görmemiş benim hatamdı. Şimdi bunu nasıl yapacağımı merak ediyorum. – Kri

1

Kullanımı EditText uzun tıklama etkinlik inlistView özel adaptörü ve ekran iki seçenek kopya üzerinde bir iletişim kutusunu açmak ve onları yapıştırabilirsiniz

ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE); clipboard.setText(txtEdit.getText().toString());

+0

bunu deneyebilirsiniz, işe yaramaz. Olası her yolu denedim. Ama işe yaramıyor. Android'de liste odaklı bir sorun var. Çocuk elemanları ve ana öğeler arasında her zaman karıştırır. –

0

listesi seçimi olay bu kod

metni kopyalayabilirsiniz programically

ClipboardManager clipboard = 
           (ClipboardManager) c1.getSystemService(c1.CLIPBOARD_SERVICE); 

         clipboard.setText("Text to copy"); 

kullanarak ve kullanma Metin almak

System.out.println(clipboard.getText()); 
+0

sorunu anlamıyor musunuz? Liste görünümünde çocuk öğeleriyle ilgili sorunlar var. –

2

Burada olası çözüm bulunmaktadır. liste görünümü arasında GetView yönteminde operasyon sonrasında gerçekleştirmek:

ExtractedText tarafından verilen
enter code here: 

public View getView(final int position, View convertView, ViewGroup parent) { 
      // A ViewHolder keeps references to children views to avoid unneccessary calls 
      // to findViewById() on each row. 
      final ViewHolder holder; 


      if (convertView == null) { 
       convertView = mInflater.inflate(R.layout.main, null); 

       // Creates a ViewHolder and store references to the two children views 
       // we want to bind data to. 
       holder = new ViewHolder(); 


       holder.subText = (TextView) convertView.findViewById(R.id.subTxt);  

       convertView.setTag(holder); 
      } else { 
       // Get the ViewHolder back to get fast access to the TextView 
       // and the ImageView. 
       holder = (ViewHolder) convertView.getTag(); 
      } 

      //TEXT BOX position is 0 then 
      if(position == 0) { 

       ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE); clipboard.setText(txtEdit.getText().toString()); 
      } 
      return convertView; 
     } 
+0

bu işe yaramaz ... editText buna odaklanmayacaktır. –

0
InputConnection ic = getCurrentInputConnection(); 
ExtractedText extracted = ic.getExtractedText(
        new ExtractedTextRequest(), 0); 
      /*If selection start and end are not equal then selected text 
      * needs to be deleted and updated to core*/ 
      if (extracted!= null && extracted.selectionStart != extracted.selectionEnd) { 
} 

Kullanım api