簡體   English   中英

ListView上出現奇怪的故障:按搜索操作按鈕后,文本消失

[英]Strange glitch on ListView: text dissapears after pressing search action button

我的ListView屏幕讓我發瘋。

每行有三個TextViews。 該適配器是使用視圖回收機制的自定義ArrayAdapter:如果首先請求該行,則將擴大新視圖,否則將使用回收的視圖。 一切正常。 我沒有顯示它,但現在假設它已正確實現。

這是正常的樣子:

在此處輸入圖片說明

屏幕的右上角有一個搜索按鈕。 單擊后,列表中的每個文本視圖都被“清除”! 我已經調試了代碼,並且那里有textviews,設置了文本,並且一切正常,除了幾乎沒有顯示文本或沒有顯示文本。 這是使用DDMS進行的視圖轉儲:

在此處輸入圖片說明

看起來只顯示了文本的前幾個字母。 這僅在某些設備中發生,並且僅當適配器的getView方法返回該行的回收視圖時才發生,但僅在按下搜索按鈕后才能顯示,這使鍵盤得以顯示(如果我關閉它,則文本仍然丟失)。 如果我將getView方法修改為始終使每一行都膨脹,則不會發生這種情況,但這當然不是一個選擇,因為我的列表應該能夠處理大量項目。

看起來像個錯誤,但我需要對此做些事情。

我還測試了基於地圖的替代回收機制(基本上,我將地圖中每一行的視圖都放在視圖中)。 仍然觀察到該行為。

設備是運行4.1.2的Samsung Galaxy SII。 例如,Galaxy SIII mini中沒有這種情況。

您知道什么可能導致此故障嗎? 與TextView的寬度有關嗎?

提前致謝

我終於找到了原因。

它是適配器xml文件中的TextViews之一。 它包含在固定寬度的LinearLayout中。 將其寬度設置為fill_parent ,並將其更改為wrap_content解決此問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM