我的問題 - 我想TextView的文本我有一個自定義的ListView滾動滾動只有在ListView中選擇項目。當列表項失去焦點時,我希望選取框停止滾動。我知道我需要設置TextView爲啓用(setEnabled(true))滾動工作,但是當我這樣做時,因爲項目被添加,他們都滾動,這不是我想要的行爲(但它確實有意義爲什麼會這樣)。我嘗試使用ListView的Click處理程序以編程方式設置它們以將TextView設置爲啓用(setEnabled(true)),跟蹤私有變量中當前選定的項目,然後相反地將以前的視圖TextView啓用狀態設置爲false何時點擊新項目等等。我希望這是有道理的。下面是一些Java代碼,可能更好地說明它:安卓橢圓選框問題與當前選定的列表項目
private View tempListItemView = null;
if (this.tempListItemView != null) {
TextView tempTxtView = (TextView) tempListItemView.findViewById(R.id.txtArticleTitle);
tempTxtView.setSelected(false);
tempTxtView.setEllipsize(TruncateAt.END);
}
// Set marquee of currently selected list item
TextView tt = (TextView) v.findViewById(R.id.txtArticleTitle);
tt.setEllipsize(TruncateAt.MARQUEE);
tt.setSelected(true);
tempListItemView = v;
這並不工作,排序的。但是,它有點笨重。例如,如果前一個項目離開顯示屏,它永遠不會關閉,當我選擇列表項目時,會丟失我設置的所有自定義listSelector屬性(請參見下文)。另外,我還有一些奇怪的行爲,滾動的TextView的背景變爲黑色(甚至整個ListView listSelector完全消失,當我在Droid上使用鍵盤時,但我只是試圖模擬這個功能,當列表項被按下時,我在網上沒有找到關於如何實現這個的很多東西,下面是片段和屏幕截圖:
我有一個ListActivity,綁定到一個自定義列表視圖中ArrayAdapter內容認爲,這一活動是聯繫在一起看起來像這樣:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<ListView
android:id="@+id/android:list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:listSelector="@drawable/list_selector"
/>
</LinearLayout>
的list_selector繪製這個樣子的:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:drawable ="@drawable/maroon_list_select_bg" />
<item android:drawable="@drawable/maroon_list_select_bg" />
</selector>
它的Drawable是一個簡單的1x1栗色像素來繪製列表項目選擇的栗色背景顏色。爲了節省空間,我附上了自定義視圖的截圖:(我的第一篇文章,所以我不能:(
這裏是定義每個列表的自定義佈局的簡要片段(帶字幕的TextView)項...
<TextView
android:id="@+id/txtArticleTitle"
android:textSize="16sp"
android:textStyle="bold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/list_item"
android:singleLine="true"
android:ellipsize="end">
</TextView>
<TextView
android:id="@+id/txtArticleSnippet"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/list_desc_copy"
>
</TextView>
<TextView
android:id="@+id/txtArticleVotes"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Votes: 1576"
android:textColor="@color/list_small_copy"
>
</TextView>
請記住,我知道我需要設置的android:ellipsize以「跑馬燈」來獲得滾動,但如上所述,我以編程方式這樣做是爲了目前選擇的列表系列
有沒有人有這方面的解決方案?在此先感謝,我爲冗長的帖子道歉...只是想成爲thorou GH。再次感謝!