2016-04-07 17 views
2

XML dosyası (matrix_cell.xml) şişirildi. görünümü şişirmeŞişirilmiş EditText Görünüm seçilemez

<EditText 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@drawable/rect_edit_text" 
    android:textCursorDrawable="@drawable/cursor_black" 
    android:textColor="@color/colorAccent" 
    android:gravity="center_horizontal" 
    android:inputType="number" 
    android:layout_margin="1dp" 
    android:layout_weight="1" /> 

kod: Oluşturulan

LayoutInflater inflater = LayoutInflater.from(this); 
TableRow tableRow = new TableRow(this); 
inflater.inflate(R.layout.matrix_cell, tableRow, true); 

EditText Görünüm EditText Görüntüle tıklandığında giriş odağı Önceki giriş olmanın odak kalır, seçilemez.

+0

selectable ile ne demek istediniz? –

+0

İmleç, tıklatıldığında editText'de görünmez. Odakta bulunan önceki girişte kalır. – Elvisjames

+0

Uygulamayı hata ayıklarken manuel olarak seçmeyi denediniz mi? Kodda programlı olarak seçmeyi denediniz mi? Kodunuzun geri kalanı neye benziyor? (xml, java) –

cevap

1

id numaranıza EditText numaranızı ekleyin.

It sorununuzu çözecektir

<EditText 
    android:id="@+id/edittext" 
    android:inputType="text" 
    ... 
    ... 
/> 

gibi yapılabilir. Dahası, herhangi bir düzeni kullanır ve çocuğunuz olarak EditText'u yapar mısınız? Bunu yapmak zorunludur. EditText'un Layout değil, bir görünüm olduğunu hatırlamanız gerekir.

Şişirici görünümü genişlettikten sonra, EditText işinizi almak için view.findViewById(R.id.edittext) yöntemini kullanın.

GÜNCELLEME this answer yılında Alexander Kulyakhtin tarafından söylediği gibi

,

for(int i=0; i<((ViewGroup)v).getChildCount(); ++i) { 
    View nextChild = ((ViewGroup)v).getChildAt(i); 
} 

Çocuğu alabilirsiniz

. Ve bana göre, EditText'u almak ve onunla çalışmak için nextChild.findViewById(R.id.edittext)'u kullanın.

+0

Teşekkürler. EditText'e kimlik eklemek sorunu çözdü. Ancak EditLext'i bir TableLayout hücresi olarak kullandım. Kimlik, düzendeki tüm editTexts'lara başvurmaz mı? Belirli bir editText almak için hala getChildAt() kullanmam gerekmez mi? – Elvisjames

+1

Şişirme cihazını kullanıyorsunuz! Yani etkilemeyecek! Tablo hücrelerinin doğrusal veya göreceli bir düzen olduğundan emin olun ve edittext bunların bir çocuğudur. Sadece şişirildikten sonra söylediğim gibi kimliği arayın. Bu problemi çözdüyse, lütfen cevabı doğru olarak işaretleyin. Teşekkürler. – Sibidharan

1

@Sibidharan tarafından yazılmış xml adresinde id ekleyin.

<EditText 
    android:id="@+id/editText" 
    ... 
    ... 
/> 

Etkinliğinizde, başlattığınızdan emin olun.

EditText editText= (EditText)findViewById(R.id.editText)