2011-07-20 21 views
4

我創建了自定義列表視圖。在每個listitem我有一個textview。每當用戶觸摸該特定列表項目時,我需要爲其應用選框。文字查看項目的自定義列表視圖的項目效果觸摸焦點

我曾試圖設置

android:ellipsize="marquee" 
android:marqueeRepeatLimit="marquee_forever" 

這項工作時,我的推杆的setSelected(真);在getview()中,但是列表中的每一項。我只需要爲選中的項目啓用選取框。

+0

喜檢查[這裏] [1]後,我認爲這是對你有所幫助 [1]:http://stackoverflow.com/questions/1424276/ellipsize-not-working-for-textview-inside-custom-listview/1424686#1424686 – Pratik

+0

感謝pratik,在調查該線程後。我試過這個。 \t android:ellipsize =「marquee」android:scrollHorizo​​ntally =「true」,android:lines =「1」。但仍然沒有用。我也不確定這是否會幫助我僅爲關注的項目啓用選取框。 – manjusg

回答

2

我認爲,當你觸摸一個項目,在這個時候,你那一套字幕的it.Goodluck後得到的TextView。

+0

我正在使用convertview,即延遲適配器的概念。所以當我把ontouchlistner中的setselected設置爲單個項目時。選取框是出現了人也.. – manjusg

+0

我想你不應該設定在getview選框()當您(從該項目獲得的TextView)在項目上觸method.Only設置。如果你不能與我do.Please接觸。我們將會討論更多(skype,yahoo:fsoft_duonghv) – duonghv

+0

非常感謝duonghv。我不在getview()中設置選取框。我將它設置在ontouchlistner上進行KEY_DOWN操作。並在KEY_UP上刪除它。我會嘗試一些事情。如果我得到的結果會讓你知道,否則一定會聯繫你。 – manjusg

0

我知道這是舊的文章,但最近我對我的平板電腦這個問題,它不具有物理滾動按鈕(如我的手機有)超過列表視圖項(不滾動通過單擊實際選擇項目在上面)。 在我的電話,當我在滾動列表視圖的項目中,「勞斯萊斯」一直從白天的工作1. 所以我做在onListItemClick一些擺弄......

這是結果:

@Override 
protected void onListItemClick(ListView list, View v, int position, long id) { 
    final View t = v.findViewById(R.id.YOURTEXTVIEW_ID_HERE); 
    t.requestFocusFromTouch(); 
    list.setSelectionFromTop(position, v.getTop()); 
    super.onListItemClick(list, v, position, id); 
} 

我已經試過各種requestFocus的,requestFocusFromTouch和list.setSelectionFromTop的組合,但上述組合的是,使其工作,並有列表項留在它的位置所需的方法的最低。它還可以與list.setSelection(position),但是然後選擇的項目將盡可能地推到列表視圖的頂部,就像這個方法打算做的那樣。

在XML我只得到了:

android:ellipsize="marquee" 
android:singleLine="true" 
+0

事實上,textview有一個問題。如果它不處於選定狀態,它將不會滾動。你只需要調用textview.setselcted(true),我看不到有任何需要調用requestfocusfromtouch來使選框工作。 – manjusg

相關問題