2011-06-09 25 views
1

我有一個長文本,我想逐頁顯示它。對於我的第一次嘗試,我創建了10個活動並放置了一些按鈕,當用戶單擊它時,下一個活動會顯示。Android,如何將長文本加載到活動中?

我在某處讀到我可以使用Intent將所有文本加載到一個活動中。可能嗎?怎麼可能? 我不希望用戶滾動頁面。

感謝

+0

你可以提供一些細節嗎?這是原始文本(可能值得放在strings.xml中),或者你想從文件中讀取的東西? – Travis 2011-06-09 14:31:23

+0

如何知道文本是否適合特定設備(不同dpi)? – Selvin 2011-06-09 14:34:02

+0

謝謝Lawngnomehitman,抱歉我的信息不完整。是的,在XML中,我有一個很長的文本,比如一本書的每一章。 – Hesam 2011-06-09 14:38:58

回答

1

比方說,你有你的活動稱爲MyTextActivity,然後在點擊按鈕監聽器,你你想要的文本的意圖,你的活動傳遞:

Intent i = new Intent(this, MyTextActivity.class); 
i.putExtra("myText", "this is the text you want to display in the next page"); 
startActivity(i); 

然後在你的MyTextActivity,你把下面的在onCreate()

String textToDisplay = ""; 
Bundle extras = getIntent().getExtras(); 
if (extras != null){ 
    textToDisplay = extras.getString("myText"); 
} 

然後設置你的TextView文本這個文本。

+1

另一個改進是讓你的字符串在某種數組或列表中,然後在你的'putExtra()'函數中傳遞你想要顯示的項目的索引。所以當你點擊下一步時,你只需增加你的索引(假設你做了適當的索引檢查)。所以你的改變是'i.putExtra(「myTextIndex」,index)',其中index是一個整數。然後,當你檢索它時,你會做'extra.getInt(「myTextIndex」)' – wnafee 2011-06-09 14:46:04

+0

他說他想裝載一個looooooooooong文本,所以他必須改變標題,這是一個小文本lool :), – Houcine 2011-06-09 15:23:46

0

假設你已經有一個TextView和您的活動按鈕,當按下按鈕時,你不需要去一個新的活動。相反,您可以更改現有文本視圖的內容。只需使用TextView.setText()來更改它。

+0

感謝這是一個很好的建議,但它有一個問題。我如何處理不同尺寸的屏幕尺寸? – Hesam 2011-06-09 14:41:11

0

如果文本是靜態文本,您可以將其放入字符串資源並在所有活動中進行訪問。否則,您可以使用putExtra將字符串附加到意圖。

0

我認爲答案是「不要這樣做」。 Android可以在各種設備上運行,您應該處理不適合與您用於測試的設備相匹配的屏幕的情況。例如,考慮平板電腦。

相關問題