讓我試着讓我清楚地瞭解情況。 我有一個從XML文件中檢索到的標題列表,它隨機顯示在ViewPager的TextView中。Text.setText()在ViewPager的當前視圖中無法正確顯示
在使用setText在TextView中設置它之前,我已經打印了標題列表,以及使用System.out.println查看標題的隨機標題。
事情是,隨機化的標題沒有顯示在ViewPager的當前視圖中,它顯示在下一個視圖中,當我滑動時,同樣的事情繼續。在當前視圖中,顯示了不同的標題,與隨機標題不同。
我需要在當前視圖中正確顯示文本,因爲當用戶點擊它時,它應該打開一個頁面,並顯示視圖中顯示的文本。
任何人都知道我爲什麼面臨這個問題,我該如何解決它?
//Code Snippet is from a PagerAdapter
try{
randomNo = getRandomNumber(nl.getLength());
System.out.println("AMOUNT OF ARTICLES : " + nl.getLength());
System.out.println("RANDOM NUMBER : " + randomNo);
showTitle = texts.get(randomNo);
showArticle = urls.get(randomNo);
System.out.println("RANDOM ARTICLE TITLE : " + showTitle);
text5.setText(showTitle);
}
catch(Exception e)
{
e.printStackTrace();
}
UPDATE 我想通了,爲什麼文本沒有正確顯示。
示例中,view1顯示text1並加載文章1,view2顯示文本2並加載article2等。但是,由於它在第一次運行時加載所有文章鏈接和標題,因此會根據隨機序列。
標題1 標題2
鏈接1 鏈路2
因此,視圖1實際上得到鏈接2(最新隨機鏈接),但還是堅持了文本1。每次我刷卡時,它都會隨機化,導致標題和鏈接混亂。
找到一種方法可以根據項目要求來解決它。我在我的Fragment類而不是ViewPagerAdapter中運行隨機代碼,這樣它就會隨機加載一次代碼,這有助於在每個視圖中顯示相同的標題和鏈接。我從Fragment類中檢索標題並將其顯示在我的適配器中。這樣,每個視圖都顯示相同的標題和鏈接,直到下一次運行。
你可以發表你的示例代碼嗎? –
添加了代碼,我得到隨機標題並將其設置爲我的TextView。它在ViewPager中。每次它滑動,代碼都會運行。 –
我的PagerAdapter中有超過2000行的代碼,我不允許顯示完整的代碼。讓我嘗試將這些部分提取出來。 –