2014-03-02 120 views
5

我已經搜索瞭解決方案,但它似乎沒有工作。我的情況不適用於更改xml嗎?如何解決這個問題?滾動視圖工作,但edittext不工作。由於在滾動視圖中編輯文本是不可滾動的

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@drawable/share_bg" > 

    <ScrollView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginBottom="20dp" 
     android:layout_marginTop="20dp" 
     android:overScrollMode="never" > 

     <RelativeLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" > 

      <ImageView 
       android:id="@+id/photo_area" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" /> 

      <TextView 
       android:id="@+id/share_title" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_below="@id/photo_area" 
       android:layout_marginLeft="20dp" 
       android:layout_marginTop="20dp" 
       android:text="@string/share_title" 
       android:textColor="@android:color/white" /> 

      <EditText 
       android:id="@+id/share_content" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_below="@id/share_title" 
       android:layout_marginLeft="20dp" 
       android:layout_marginRight="20dp" 
       android:background="@drawable/custom_textarea" 
       android:gravity="top|left" 
       android:lines="5" 
       android:scrollbars="vertical" 
       android:text="@string/default_msg" > 

       <requestFocus /> 
      </EditText> 

      <ImageView 
       android:id="@+id/share_submit" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_below="@id/share_content" 
       android:layout_centerHorizontal="true" 
       android:src="@drawable/photo_taken_btn_submit" /> 
     </RelativeLayout> 
    </ScrollView> 

</RelativeLayout> 

的ID:share_content是EDITTEXT,感謝

+0

我想弄清楚,如何究竟它不工作?那它不起作用呢? –

+0

滾動視圖工作但編輯文本不起作用。當我在edittext上滾動時,它會移動滾動視圖Thanks。 – user782104

+1

您是否檢查了此鏈接(http://stackoverflow.com/questions/13812892/enable-scrollable-edittext-within-a-scrollview-and-viewflipper?rq=1)? – ChuongPham

回答

17

您可以執行此作滾動一個EditText:

EditText EtOne = (EditText) findViewById(R.id.comment1); 
EtOne.setOnTouchListener(new OnTouchListener() { 
      @Override 
      public boolean onTouch(View v, MotionEvent event) { 
       if (v.getId() == R.id.comment1) { 
        v.getParent().requestDisallowInterceptTouchEvent(true); 
        switch (event.getAction() & MotionEvent.ACTION_MASK) { 
        case MotionEvent.ACTION_UP: 
         v.getParent().requestDisallowInterceptTouchEvent(false); 
         break; 
        } 
       } 
       return false; 
      } 
     }); 

請參閱 「Scrolling editbox inside scrollview

+0

你能否說明MotionEvent.ACTION_MASK的用途? –

+0

謝謝,這對我有幫助。我能夠將整個if塊縮短到'v.getParent()。requestDisallowInterceptTouchEvent(!((event.getAction()&MotionEvent.ACTION_MASK)== MotionEvent.ACTION_UP));'儘管如此,它看起來更清潔。 – stackunderflow