使textview可垂直滚动

时间:2016-10-14 06:31:35

标签: android-studio textview scrollable

如何在屏幕的某个不同部分使多个textview可垂直滚动?

  

<ImageView
    android:id="@+id/imageView"
    android:layout_width="200dp"
    android:layout_height="200dp"
    android:src="@drawable/girl1" />

<TextView
    android:layout_width="200dp"
    android:layout_height="200dp"
    android:id="@+id/textview"
    android:maxLines="8"
    android:scrollbars="vertical"
    android:layout_alignTop="@+id/imageView"
    android:layout_toEndOf="@+id/imageView"
    android:layout_toRightOf="@+id/imageView"></TextView> </RelativeLayout>



TextView intro;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_meet_our_team);

    TextView txtview=(TextView)findViewById(R.id.textview);
    String text="I like programming in Android. This tip shows you how to make a TextView scrollable in Android.";
    txtview.setText(text);
    intro.setMovementMethod(new ScrollingMovementMethod());
} }

我收到以下错误:

Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setMovementMethod(android.text.method.MovementMethod)' on a null object reference
                                                                         at com.example.cepl_pc.trial.MeetOurTeam.onCreate

5 个答案:

答案 0 :(得分:1)

您的问题出在intro.setMovementMethod(new ScrollingMovementMethod());

您尚未为TextView简介分配任何ID,请将其替换为txtView。 此外,您有android:maxLines = "8"并且您的文本字符串不够长以获得滚动视图,使用下面的代码您将看到滚动效果。

  <ImageView
    android:id="@+id/imageView"
    android:layout_width="200dp"
    android:layout_height="200dp"
    android:src="@drawable/girl1" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/textview"
    android:maxLines = "3"
    android:scrollbars="vertical"
    android:layout_alignTop="@+id/imageView"
    android:layout_toEndOf="@+id/imageView"
    android:layout_toRightOf="@+id/imageView"></TextView>

在java中,

TextView txtview=(TextView)findViewById(R.id.textview);
    String text="I like programming in Android. This tip shows you how to make a TextView scrollable in Android.";
    txtview.setText(text);
    txtview.setMovementMethod(new ScrollingMovementMethod());

答案 1 :(得分:0)

你甚至可以

<ScrollView
    android:layout_width="200dp"
    android:layout_height="200dp">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="text"/>
</ScrollView>

答案 2 :(得分:0)

如果你希望你的所有布局都滚动。将ScrollView作为你的根布局并将fillview端口设置为true。就像这样:

<Scroll View
  xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:fillViewport="true"/>
.
.
//rest of your xml code.
.
.
<ScrollView/>

如果有效,请在评论部分告诉我。

答案 3 :(得分:0)

解决这个问题的最佳方法是将其放在。{1}}中的.xml文件中,如下所示。

ScrollView

答案 4 :(得分:0)

声明textView

textView1 = (TextView) findViewById(R.id.textView1);

在方法中添加以下代码

textView1.setMovementMethod(new ScrollingMovementMethod());