Android не прокручивает текстовый файл

У меня есть файл helpdoc.txt, хранящийся в res/raw в eclipse. Он отображается внутри моего приложения с помощью приведенного ниже кода:

public class HelpPage extends Activity {
/** Called when the activity is first created. */

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.help);
    //read in
    InputStream iFile = getResources().openRawResource(R.raw.helpdoc);
        try {
            TextView helpText = (TextView) findViewById(R.id.TextView_HelpText);
            String strFile = inputStreamToString(iFile);
            helpText.setText(strFile);
        } catch (Exception e) {
            //nothing here
        }
}//end onCreate

    /**
         * Converts an input stream to a string
            */
        public String inputStreamToString(InputStream is) throws IOException {
            StringBuffer sBuffer = new StringBuffer();
            DataInputStream dataIO = new DataInputStream(is);
            String strLine = null;
            while ((strLine = dataIO.readLine()) != null) {
                sBuffer.append(strLine + "\n");
            }//end while
                dataIO.close();
                is.close();
                return sBuffer.toString();
        }//end method  

Загружается корректно, но не все помещается на экран, при попытке прокрутки не могу прочитать остальной текст.

Это связанный файл макета XML для полноты: http://pastebin.com/PtskJbqt

Может ли кто-нибудь посоветовать, как я могу прокрутить вниз, чтобы пользователь мог прочитать весь файл?

Спасибо.


person GrumP    schedule 12.10.2012    source источник
comment
почему бы вам просто не добавить прокрутку поверх TextView. Я думаю, что это проще.   -  person Andro Selva    schedule 12.10.2012
comment
@AndroSelva Привет, Андро, что ты имеешь в виду? Спасибо.   -  person GrumP    schedule 12.10.2012
comment
также вы можете использовать ScrollView   -  person Sardor Dushamov    schedule 12.10.2012


Ответы (2)


Набор: helpText.setMovementMethod(new ScrollingMovementMethod());

person Sardor Dushamov    schedule 12.10.2012
comment
Это было идеально, спасибо. У меня есть старое приложение, из которого я позаимствовал код — раньше оно мне не понадобилось? (Прокрутка работала нормально в другом приложении) Не знаю, почему это так! Это работает в любом случае, хотя это немного загадка о старом приложении. - person GrumP; 12.10.2012

Как это,

<ScrollView android:layout_width="fill_parent"
       android:layout_height="fill_parent">



<TextView
       android:id="@+id/TextView_HelpText"
           android:layout_width="fill_parent"
       android:layout_height="fill_parent"
       android:autoLink="all"
       android:isScrollContainer="true"
       android:textStyle="italic"
       android:drawablePadding="5px"
       android:textColorLink="@color/logo_color"
       android:linksClickable="true"
       android:fadingEdgeLength="25px"
       android:fadingEdge="vertical"
       android:scrollbars="vertical"
       android:padding="@dimen/help_text_padding"
       android:textSize="@dimen/help_text_size"
       android:scrollbarStyle="outsideOverlay"
       android:bufferType="spannable"
        android:textColor="#000000"></TextView>

</ScrollView>

А также использование «px» не рекомендуется. вместо этого используйте "dip" для fadingLength и padding.

person Andro Selva    schedule 12.10.2012