当它在scrollview中时,如何在edittext中滚动?

时间:2011-12-26 05:05:19

标签: android

在我的应用程序中,我使用EditText来编写邮件描述,我按照以下方式编写。 我的edittext有多行。 当我输入更多行并尝试在edittext中从下到上移动时,edittext的滚动无法正常工作。

任何人都可以帮助我吗? 感谢..

<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>

3 个答案:

答案 0 :(得分:1)

试试这个

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());
    }
}

注意:您不能在ScrollView中放置可滚动控件(例如ListView)。我认为它不能与可滚动的EditText一起使用到ScrollView中。

答案 1 :(得分:0)

尝试这个希望它可能有效

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

在您的活动中

答案 2 :(得分:0)

首先为您的滚动视图创建您的ID,然后在您的方法中编写此代码。

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

cahnge用你的scrollview对象听到mScrollMain。 他们肯定工作