2013-02-21 117 views
2

我有一個ListView它有三個行。最後2行有EditText字段允許編輯。我有低於兩者的XML:EditText不允許編輯

<LinearLayout 
    android:id="@+id/id_message_subject_edit" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:layout_marginLeft="5dp" 
    android:layout_marginRight="5dp" 
    android:orientation="vertical" > 

    <EditText 
     android:id="@+id/id_message_details_subject" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_gravity="left" 
     android:layout_margin="5dp" 
     android:gravity="left" 
     android:textAppearance="?android:attr/textAppearanceMedium" 
     android:textColor="@color/BLACK" 
     android:textSize="15sp" /> 

</LinearLayout> 

因爲當我點擊EditText某種原因,它只是簡單地失去了遊標,但鍵盤仍然可見。我不確定,但它發生在兩個盒子上。對此,沒有TouchListener或任何其他聽衆。對於我需要注意的ListView內有什麼特別之處?

編輯

當我把我的manifest.xml文件如下:

android:windowSoftInputMode="adjustPan" 

我看到,它的作品......然而,當文雲下面的ListView不會滾動鍵盤。有沒有辦法照顧這個用例?

回答

1

是不是有什麼特別的關於把一個ListView,我需要知道的內部?

是的,記住ListView想要處理焦點和點擊事件,但現在你有一個EditText混合。看看這個question的答案。

但是,如果您的ListView只有3行,那麼使用它確實沒有太大的收穫。 ListView旨在回收視圖,並且在列表中有很多項時非常高效。如果只有幾行,我建議使用ScrollView並將其添加到View(行),並且只需自己處理onClick事件(如果列表項是可單擊的)。

+0

不能這樣做,因爲它可能稍後會更改。但是我取得了一些進展......還沒有完成。 – KVISH 2013-02-22 00:47:10