2011-12-26 13 views
7

W mojej aplikacji używam EditText do napisania opisu Maila i zrobiłem to jak poniżej. Mój edittext ma wiele linii. Kiedy wprowadzam więcej linii i próbuję przejść od dołu do góry w edytorze editekstowym, przewijanie edytora edittext nie działa.Jak uzyskać przewijanie w edittext, gdy znajduje się wewnątrz przewijania?

Czy ktoś może mi pomóc? Dzięki ..

<ScrollView 
    android:id="@+id/scrollView" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:scrollbarStyle="insideOverlay"> 

      <EditText 
       android:id="@+id/edBody" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:lines="5" 
       android:scrollbars="vertical" 
       android:text="" 
       android:inputType="textMultiLine"/>  


    </ScrollView> 
+0

Witam, czy możesz mi pomóc, jeśli znajdziesz jakieś rozwiązanie tego problemu. – Raj

Odpowiedz

0

spróbować tej nadziei może ona działa

EditText et=(EditText)findViewById(R.id.edbody); 
et.setMovementMethod(new ScrollingMovementMethod()); 

w swojej działalności

+0

to nie zadziałało dla mnie. – Raj

+0

wciąż nie otrzymuję odpowiedzi. –

1

Spróbuj

main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
      android:orientation="vertical" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
    > 
    <EditText 
     android:layout_width="100dp" 
     android:layout_height="100dp" 
     android:text="Loooooooooonng loooooooooong teeeeeeeeeeext" 
     android:id="@+id/et" 
     android:maxLines = "100" 
     android:scrollbars = "vertical" 
     /> 
</LinearLayout> 

MyActivity.java

public class MyActivity extends Activity { 
    private EditText et; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     et= (EditText) findViewById(R.id.et); 
     et.setMovementMethod(new ScrollingMovementMethod()); 
    } 
} 

UWAGA: Nie można umieścić przewijanego elementu sterującego (na przykład ListView) w widoku ScrollView. I myślę, że to nie działa z przewijanym EditText do ScrollView.

+1

Pracowałem dla mnie .. – Reshma

0

Najpierw Utwórz swój identyfikator dla swojego przewijania, a następnie po napisaniu tego kodu w swojej metodzie.

et.setOnTouchListener(new View.OnTouchListener() { 
      @Override 
      public boolean onTouch(View view, MotionEvent motionEvent) { 
       mScrollMain.requestDisallowInterceptTouchEvent(true); 
       return false; 
      } 
     }); 

cahnge Posłuchaj mScrollMain za pomocą obiektu przewijania. Działają zdecydowanie

Powiązane problemy