2016-09-28 2 views
0

У меня есть проблема в моей деятельности, включая функцию прокрутки вместе с гиперссылкой. У меня есть кнопка с информацией, и добавлена ​​функция прокрутки, потому что она не подходит на экране без этого.Функция прокрутки не работает должным образом с гиперссылкой

Теперь функция прокрутки работает немного, но точно на том месте, где я добавил гиперссылку, она останавливается. Я добавил изображение, чтобы показать, что если вы посмотрите на изображение, представьте, что я не могу прокручивать вниз дальше, чем показано на изображении, но есть еще какая-то информация, включая гиперссылку под этой страницей. Который не может быть показан таким образом.

Click here to look at the image, it's scrolled down as far as i could, but not far enough yet.

Если кто-то знает, почему я не могу прокрутить вниз дальше, чтобы показать ссылку и другую информацию, любая помощь будет оценена.

Это вот мой основной код активности для страницы У меня возникли проблемы с:

package com.example.rodekruis; 
import android.net.Uri; 
import android.os.Bundle; 
import android.app.Activity; 
import android.content.Intent; 
import android.text.Html; 
import android.text.Spanned; 
import android.text.method.LinkMovementMethod; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.view.View; 
import android.widget.AdapterView; 
import android.widget.Button; 
import android.widget.TextView; 

public class RouteActivity extends Activity implements View.OnClickListener{ 


    TextView HyperLink; 
    Spanned Text; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_route); 

     findViewById(R.id.button11).setOnClickListener(this); 
     findViewById(R.id.button12).setOnClickListener(this); 
     findViewById(R.id.button13).setOnClickListener(this); 
     findViewById(R.id.button14).setOnClickListener(this); 
     findViewById(R.id.imageButton1).setOnClickListener(this); 

     TextView textView =(TextView)findViewById(R.id.textView); 
     textView.setClickable(true); 
     textView.setMovementMethod(LinkMovementMethod.getInstance()); 
     String text = getResources().getString(R.string.title_activity_route); 
     text += "<a href='https://www.google.nl/maps/place/Plein+1945+105,+1971+GC+IJmuiden/@52.4594977,4.6245747,18.5z/data=!4m13!1m7!3m6!1s0x47c5f0342468ea39:0xf05b19898f4b29!2sPlein+1945+105,+1971+GC+IJmuiden!3b1!8m2!3d52.4593706!4d4.6246212!3m4!1s0x47c5f0342468ea39:0xf05b19898f4b29!8m2!3d52.4593706!4d4.6246212'> Klik daarvoor op deze link</a>"; 
     textView.setText(Html.fromHtml(text)); 

    } 

    public void onClick(View v) { 


     Intent intent = null; 
     switch (v.getId()) { 



      case R.id.button11: 
       Uri uri = Uri.parse("https://www.facebook.com/RKZ.BrandwondencentrumBeverwijk"); 
       intent = new Intent(Intent.ACTION_VIEW, uri); 
       break; 
      case R.id.button12: 
       Uri uri1 = Uri.parse("https://www.youtube.com/user/rodekruisziekenhuis/featured"); 
       intent = new Intent(Intent.ACTION_VIEW, uri1); 
       break; 
      case R.id.button13: 
       Uri uri2 = Uri.parse("https://twitter.com/rodekruiszh?lang=nl"); 
       intent = new Intent(Intent.ACTION_VIEW, uri2); 
       break; 
      case R.id.button14: 
       Uri uri3 = Uri.parse("https://www.linkedin.com/company/rode-kruis-ziekenhuis"); 
       intent = new Intent(Intent.ACTION_VIEW, uri3); 
       break; 
      case R.id.imageButton1: 
       intent = new Intent(RouteActivity.this, InfoActivity.class); 
       break; 
     } 
     startActivity(intent); 
    } 
} 

это раскладка активность:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    tools:context="com.example.rodekruis.Route" > 

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

    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="left" 
     android:layout_marginBottom="20dp" 
     android:layout_marginLeft="1dp" 
     android:src="@drawable/rkz_logo" /> 

    <ImageView 
     android:id="@+id/imageButton1" 
     android:layout_width="40dp" 
     android:layout_height="50dp" 
     android:layout_marginBottom="20dp" 
     android:layout_marginRight="40dp" 
     android:layout_marginTop="10dp" 
     android:layout_gravity="right" 
     android:src="@drawable/informatiebutton" /> 
    </FrameLayout> 

    <ScrollView 
     android:id="@+id/scrollview" 
     android:layout_width="fill_parent" 
     android:layout_height="364dp" > 

    <TextView 
     android:id="@+id/textView" 
     android:layout_width="244dp" 
     android:layout_height="match_parent" 
     android:layout_marginTop="30dp" 
     android:layout_gravity="center_horizontal" 
     android:text="@string/title_activity_route" 
     android:textAppearance="?android:attr/textAppearanceSmall" 
     android:textColor="@color/black" /> 


</ScrollView> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="50dp" 
     android:layout_marginTop="15dp" 
     android:layout_alignParentBottom="true" 
     android:orientation="horizontal"> 

     <Button 
      android:id="@+id/button11" 
      style="?android:attr/buttonStyleSmall" 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_marginRight="5dp" 
      android:layout_weight="1" 
      android:text="Facebook" /> 

     <Button 
      android:id="@+id/button12" 
      style="?android:attr/buttonStyleSmall" 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_marginLeft="5dp" 
      android:layout_marginRight="5dp" 
      android:layout_weight="1" 
      android:text="Youtube" /> 

     <Button 
      android:id="@+id/button13" 
      style="?android:attr/buttonStyleSmall" 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_alignLeft="@+id/button5" 
      android:layout_below="@+id/button8" 
      android:layout_marginLeft="5dp" 
      android:layout_weight="1" 
      android:text="Twitter" /> 

     <Button 
      android:id="@+id/button14" 
      style="?android:attr/buttonStyleSmall" 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_alignLeft="@+id/button5" 
      android:layout_below="@+id/button8" 
      android:layout_marginLeft="5dp" 
      android:layout_weight="1" 
      android:text="LinkedIn" /> 

    </LinearLayout> 
</LinearLayout> 

Это strings.xml, где все текст добавляется, «маршрут» является один с текстом на странице, что у меня проблемы с:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 

    <string name="app_name">Rodekruis</string> 
    <string name="hello_world">Hello world!</string> 
    <string name="action_settings">Settings</string> 
    <string name="title_activity_main"></string> 
    <string name="title_activity_nieuws"><b>Nieuws</b>&lt;br /&gt;&lt;br /&gt;Volg de ontwikkelingen in en om het Rode Kruis Ziekenhuis op onze website, hier is een internetverbinding voor nodig. <a href='https://www.rkz.nl/nieuws_agenda_nieuws'> </a> 
</string> 
    <string name="title_activity_afspraak"><b>Afspraak</b>&lt;br /&gt;&lt;br /&gt;<b>Maken en wijzigen</b>&lt;br /&gt;&lt;br /&gt;Zelf uw afspraak maken of wijzigen? Dat kan, mits us al als patiënt geregistreerd staat bij het RKZ. Is dit nog niet het geval? Dan wordt de afspraak telefonisch gepland. Meer info&lt;br /&gt;&lt;br /&gt;<b>Bekijk ook</b>&lt;br /&gt;&lt;br /&gt;\u2022 </string> 
    <string name="title_activity_bezoek"><b>Bezoektijden</b>\n\nVrijwel iedere patiënt vindt het prettig bezoek te ontvangen. Onze ervaring is 
    dat een goed contact met vrienden en familie een bijdrage kan leveren aan 
    een spoedig herstel.\n\nVoor de meeste afdelingen gelden de volgende bezoektijden:\nvan 15.15 tot 16.15 uur;\nvan 19.00 tot 20.00 uur.\n\nLet op: tijdens feestdagen gelden in het RKZ andere bezoektijden dan normaal. Bekijk de website voor uitgebreide bezoektijden. 
</string><string name="title_activity_contact">&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;<b>Contact</b>&lt;br /&gt;&lt;br /&gt;Telefoon en internet Rode Kruis Ziekenhuis&lt;br /&gt;T 0251 26 5555 (algemeen nummer, ook Poli IJmuiden)&lt;br /&gt;www.rkz.nl<a href="https://www.rkz.nl"> </a>&lt;br /&gt;&lt;br /&gt;Huisartsenpost Midden-Kennemerland (begane grond RKZ)&lt;br /&gt;Voor huisartsenzorg buiten kantooruren&lt;br /&gt;T 0251 26 5265&lt;br /&gt; 
    (A.u.b. bellen voordat u langskomt)&lt;br /&gt; Spoedeisende Hulp RKZ en Huisartsenpost: meer informatie&lt;br /&gt;Bij levensbedreigende klachten belt u altijd 112&lt;br /&gt;&lt;br /&gt;Bezoek- en postadres Rode Kruis Ziekenhuis&lt;br /&gt;Vondellaan 13&lt;br /&gt;1942 LE Beverwijk&lt;br /&gt;Route(link)&lt;br /&gt;Postbus 1074&lt;br /&gt;1940 EB Beverwijk 
</string> 
    <string name="title_activity_mening"><b>Uw mening</b>&lt;br /&gt;&lt;br /&gt;Uw mening is voor het RKZ erg belangrijk. Graag horen we wat er goed gaat, wat beter kan en wat absoluut beter moet. Daarmee werken wij weer verder aan betere kwaliteit van zorg en patiëntenveiligheid.&lt;br /&gt;&lt;br /&gt;U kunt <br>uw mening</br> op verschillende manieren geven:&lt;br /&gt;&lt;br /&gt;</string> 
    <string name="title_activity_route">\n\n\n\n<b>Route</b>&lt;br /&gt;&lt;br /&gt;Rode Kruis Ziekenhuis, hoofdgebouw&lt;br /&gt;Vondellaan 13&lt;br /&gt;1942 LE Beverwijk&lt;br /&gt;&lt;br /&gt;De Velsertunnel is van medio mei tot eind 2016 gesloten.&lt;br /&gt;Voor verkeer vanuit zuidelijke richting is het Rode Kruis Ziekenhuis in Beverwijk hierdoor moeilijker bereikbaar. Bekijk: &lt;br /&gt;&lt;br /&gt;\u2022 actuele verkeersinformatie korte routes naar/van het RKZ&lt;br /&gt;\u2022 actuele verkeersinformatie langere routers naar/van het RKZ&lt;br /&gt;\u2022 plan uw route naar/van het RKZ met  actuele verkeersinformatie&lt;br /&gt;&lt;br /&gt;RKZ Poli IJmuiden (tijdelijk i.v.m. sluiting Velsertunnel)\nGezondheidscentrum Het Plein&lt;br /&gt;Plein 1945, nr.105&lt;br /&gt;IJmuiden&lt;br /&gt;\u2022 Plan uw route <a href='https://www.google.nl/maps/place/Plein+1945+105,+1971+GC+IJmuiden/@52.4594977,4.6245747,18.5z/data=!4m13!1m7!3m6!1s0x47c5f0342468ea39:0xf05b19898f4b29!2sPlein+1945+105,+1971+GC+IJmuiden!3b1!8m2!3d52.4593706!4d4.6246212!3m4!1s0x47c5f0342468ea39:0xf05b19898f4b29!8m2!3d52.4593706!4d4.6246212'> </a>&lt;br /&gt;\u2022 Meer informatie over de Poli IJmuiden</string> 
    <string name="title_activity_specialisten"><b>Specialisten</b>&lt;br /&gt;&lt;br /&gt;Op de website van het Rode Kruis Ziekenhuis vindt u beknopte informatie over al onze specialisten. Om deze informatie te raadplegen heeft u een internetverbinding nodig. &lt;br /&gt;&lt;br /&gt;U kunt in het specialistenoverzicht zoeken op achternaam of op specialisme. <a href='https://www.rkz.nl/specialisten_en_behandelaren/?group=rks'> </a></string> 
    <string name="title_activity_bwc"> &lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;<b>Brandwondencentrum</b>&lt;br /&gt;&lt;br /&gt;Het RKZ Brandwondencentrum, beter bekend als: Brandwondencentrum Beverwijk, levert al meer dan veertig jaar topklinische zorg op het gebied van huid-, brandwonden- en littekenbehandelingen en wordt zowel in het binnen- als buitenland hoog gewaardeerd.&lt;br /&gt;&lt;br /&gt;Wie werken er in het Brandwondencentrum? Wat maakt het centrum zo bijzonder? Wat is een brandwond precies, wanneer is behandeling in het Brandwondencentrum Beverwijk nodig? Welke behandelingen vinden er plaats? Hoe vindt een opname plaats en wat zijn de bezoekregels? En welke afdelingen en poliklinieken behoren tot het brandwondencentrum?&lt;br /&gt;&lt;br /&gt;Op de website van Brandwondencentrum worden deze vragen uitegebreid beantwoord.&lt;br /&gt;&lt;br /&gt;Brandwondencentrum Beverwijk heeft speciaal voor kinderen en tieners een <a href='https://www.rkz.nl/het_kinderbrandwondencentrum'> </a> 
    </string> 
    <string name="title_activity_agenda">AgendaActivity</string> 
    <string name="title_activity_informatie">&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;<b>Welkom op de RKZ app!</b>&lt;br /&gt;&lt;br /&gt;U heeft de app gedownload van het Rode Kruis Ziekenhuis in Beverwijk. Met onze app geven wij u beknopte, praktische informatie over ons ziekenhuis die u deels offline (zonder internet) kunt raadplegen.&lt;br /&gt;&lt;br /&gt;Voor vervolginformatie verwijzen wij u via links naar onze website. Hiervoor heeft u internet nodig.&lt;br /&gt;&lt;br /&gt;Bent u in het Rode Kruis Ziekenhuis, dan kunt u gebruik maken van gratis Wifi (draadloos internet). Hoe werkt het?&lt;br /&gt;&lt;br /&gt;\u2022 Ga naar de WiFi-instellingen op uw mobiele apparaat.&lt;br /&gt;&lt;br /&gt;\u2022 Maak verbinding met het netwerk <b>RKZ_Bezoekers.</b>&lt;br /&gt;&lt;br /&gt;\u2022 Open uw internetbrowser (zoals Internet, Explorer, Firefox of Safari)&lt;br /&gt;&lt;br /&gt;\u2022 U komt automatisch op de portal van het RKZ. Wilt u gebruik maken van Wifi in het RKZ, dan klikt u hier op <u>akkoord</u> om de voorwaarden te accepteren.&lt;br /&gt;&lt;br /&gt;\u2022 De browser verwijst u door naar de pagina http://www.rkz.nl.</string> 
    <string name="title_activity_vriend">\n\n\n\n<b>Word vriend van het RKZ</b>\n\nEen verblijf in het ziekenhuis is meestal niet erg plezierig. De Stichting Vrienden van het Rode Kruis Ziekenhuis spant zich in om het verblijf van patiënten, bezoekers en medewerkers van het Rode Kruis Ziekenhuis en het bijbehorende Brandwondencentrum Beverwijk te veraangenamen. Door geld in te zamelen voor voorzieningen die niet uit het basisbudget van het ziekenhuis kunnen worden betaald. Denk aan een opknapbeurt voor de speelkamer voor jonge patiënten of een verwenbehandeling bij een chemokuur.\n\nOok u kunt helpen. Door Vriend te worden van het RKZ of door ons eenmalig te steunen. Lees verder op de website.\n\nMet vrienden om je heen voel je je beter. Geef om het Rode Kruis Ziekenhuis. 
    </string> 
    <string name="title_activity_folders"><b>Folders</b>&lt;br /&gt;&lt;br /&gt;Op de website van het Rode Kruis Ziekenhuis kunt u folders downloaden over ziektebeelden, behandelingen en onderzoeken. Hiervoor heeft u een internetverbinding nodig.&lt;br /&gt;&lt;br /&gt;U kunt zoeken op trefwoord of op alfabet. <a href='https://www.rkz.nl/overzicht'> </a> 
</string> 
</resources> 

ответ

0

Вы не нужно использовать Scrollview

Set TextView

android:scrollbars = "vertical" 

свойства вашего TextView в файле XML вашего компоновщика.

Затем используйте:

yourTextView.setMovementMethod(new ScrollingMovementMethod()); 

Обновлено

Ваш макет должен нравится (удалить Scrollview):

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    tools:context="com.example.rodekruis.Route" > 

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

    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="left" 
     android:layout_marginBottom="20dp" 
     android:layout_marginLeft="1dp" 
     android:src="@drawable/rkz_logo" /> 

    <ImageView 
     android:id="@+id/imageButton1" 
     android:layout_width="40dp" 
     android:layout_height="50dp" 
     android:layout_marginBottom="20dp" 
     android:layout_marginRight="40dp" 
     android:layout_marginTop="10dp" 
     android:layout_gravity="right" 
     android:src="@drawable/informatiebutton" /> 
    </FrameLayout> 



    <TextView 
     android:id="@+id/textView" 
     android:layout_width="244dp" 
     android:layout_height="364dp" 
     android:layout_marginTop="30dp" 
     android:scrollbars ="vertical" 
     android:layout_gravity="center_horizontal" 
     android:text="@string/title_activity_route" 
     android:textAppearance="?android:attr/textAppearanceSmall" 
     android:textColor="@color/black" /> 



    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="50dp" 
     android:layout_marginTop="15dp" 
     android:layout_alignParentBottom="true" 
     android:orientation="horizontal"> 

     <Button 
      android:id="@+id/button11" 
      style="?android:attr/buttonStyleSmall" 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_marginRight="5dp" 
      android:layout_weight="1" 
      android:text="Facebook" /> 

     <Button 
      android:id="@+id/button12" 
      style="?android:attr/buttonStyleSmall" 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_marginLeft="5dp" 
      android:layout_marginRight="5dp" 
      android:layout_weight="1" 
      android:text="Youtube" /> 

     <Button 
      android:id="@+id/button13" 
      style="?android:attr/buttonStyleSmall" 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_alignLeft="@+id/button5" 
      android:layout_below="@+id/button8" 
      android:layout_marginLeft="5dp" 
      android:layout_weight="1" 
      android:text="Twitter" /> 

     <Button 
      android:id="@+id/button14" 
      style="?android:attr/buttonStyleSmall" 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_alignLeft="@+id/button5" 
      android:layout_below="@+id/button8" 
      android:layout_marginLeft="5dp" 
      android:layout_weight="1" 
      android:text="LinkedIn" /> 

    </LinearLayout> 
</LinearLayout> 

И в деятельности (ScrollingMovementMethod ссылка ниже): https://developer.android.com/reference/android/text/method/ScrollingMovementMethod.html

TextView textView =(TextView)findViewById(R.id.textView); 
     textView.setClickable(true); 
     textView.setMovementMethod(new ScrollingMovementMethod()); 
+0

что андроид: скроллбары = вертикальные, где же я полагаю, типа, что –

+0

Это дает ошибку на ScrollingMovementMethod, она не может быть разрешена к типу –

+0

Вы устанавливаете 'андроида: скроллбар =«вертикальные»' в 'TextView' в ваш 'ScrollView' –