6

ListView veya RecyclerView içinde EditText'e dokunduğumda, gösterilen yazılım klavyesini görüntüleyin. Ardından klavyede bir sonraki düğmeye tıkladınız ve odağı bir sonraki EditText olarak değiştirdim. Son görünen EditText'ten sonra, odak bir sonraki EditText'e, ama ListView veya RecyclerView'a geçiyor, içeride kaydırma yapmıyorsunuz ve tüm ekranlar, her tuşun altındaki tuşa basıyor.ListView veya RecyclerView içinde EditText odaklandığında, klavye gösteriliyor ama çalışmıyor kaydırma çalışıyor

bu ekran için kullandığı şu xml:

<?xml version="1.0" encoding="utf-8"?> 
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:app="http://schemas.android.com/apk/res-auto" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical"> 
     <include 
      android:id="@+id/MainToolbar" 
      layout="@layout/toolbar" /> 
     <include 
      android:id="@+id/llHeaderItem" 
      layout="@layout/TaskShelfShareHeaderItem" /> 
     <ListView 
      android:id="@+id/lwShelfShare" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:stackFromBottom="true" 
      android:transcriptMode="normal" /> 
    </LinearLayout> 

Screen cast

cevap

5

bu şekilde anladım. Umarım yardımcı olur.

mEditText.setOnEditorActionListener(new TextView.OnEditorActionListener() { 

    @Override 
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { 
     RecyclerView recyclerView = getRecyclerView(); 
     if (recyclerView != null) { 
      int position = getLayoutPosition(); 
      RecyclerView.ViewHolder viewHolder = recyclerView.findViewHolderForLayoutPosition(position + 1); 
      if (viewHolder == null) { 
       recyclerView.smoothScrollToPosition(position + 1); 
       return true; 
      } 
     } 
     return false; 
    } 
}); 
+0

'getRecyclerView(); Sen' getRecyclerView() 'uygulamak zorunda @PratikButani' –

+0

bulunamadı. Sadece geri dönüştürücünüzün görünümü için bir referansa ihtiyacınız olduğunu belirtiyor – Antonio

+0

Adaptör sınıfında getRecyclerView(); 'nasıl yapılır? @Ivan –

İlgili konular