2015-09-04 74 views
1

的焦點更改我有一個觀點,它包含一個ListView的EditText ListView中 - 的EditText

<ListView 
    android:id="@+id/products_list" 
    android:layout_width="match_parent" 
    android:descendantFocusability="afterDescendants" 
    android:layout_height="0dp" 
    android:layout_weight="1" /> 

每一行有一些圖片,文字和一個EditText。 我在EditTexts中實現了獲取/放鬆焦點的功能,但是我有問題,當我進入視圖時,點擊一些EditText。總是在任何EditText上的第一次點擊將焦點從單擊的焦點改變爲列表中的第一個焦點。

我對這一觀點持有者已實現的方法:

@Override 
    public void bindValues(CatalogsProducts item) { 
     note.addTextChangedListener(this); 
     note.setOnFocusChangeListener(this); 
    } 


    @Override 
    public void onFocusChange(View v, boolean hasFocus) { 
     if(v instanceof EditText && !hasFocus) { 
      if(item != null && !TextUtils.isEmpty(note.getText().toString())) { 
       item.setCertainNote(note.getText().toString()); 
      } 
     } 
    } 

    @Override 
    public void afterTextChanged(Editable s) { 
     item.setCertainNote(s.toString()); 
    } 

任何想法如何不注重從第一次點擊的EditText鬆動?

回答

2

在佈局XML:

<ListView 
    android:id="@+id/products_list"  
    android:layout_height="0dp" 
    android:layout_weight="1" 
    android:layout_width="fill_parent" 
    android:descendantFocusability="beforeDescendants" 
    /> 

在Mainfest.xml:

<activity android:name= ".yourActivity" android:windowSoftInputMode="adjustPan"/> 

希望這可以幫助您!

+0

它的工作原理 - thx。 但有什麼辦法,保持調整大小的視圖的功能,而不失去對點擊項目的重點? – bqr