2016-10-14 3 views
0

Как сделать несколько текстовых просмотров вертикально прокручиваемыми в некоторых разных частях экрана?Сделать текстовое изображение вертикально прокручиваемым

<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 

ответ

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

Ваш пр oblem находится в строке intro.setMovementMethod(new ScrollingMovementMethod());

Вы не указали какой-либо идентификатор для ввода TextView, замените его на 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()); 
+0

Что делать, если у меня есть 3 изображения и 3 текстовых просмотров и вы хотите их прокрутить. –

+0

В этом случае я просто использую listview для нескольких строк, ваша строка будет иметь imageView и textview, не будет никакого ограничения просмотров, вы сможете добавить столько же, сколько imageViews & textViews, которые вы хотите под другим. :) – Anurag

0

Если и хочет, чтобы весь макет к scroll.Set ScrollView в качестве корневой макете и установите fillview порт true.like это:

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

если это работает, дайте мне знать в разделе комментариев.

0

Лучший способ обойти это было бы заключить его в ScrollView в ваш .xml-файл следующим образом.

<ScrollView 
     android:id="@+id/scrollView" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 
<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> 
</ScrollView>