私は持っていlistview
ます。各要素にはdate
( Calendar
object) があるため、現在の日付を表示可能な要素の一番上に表示したいと考えています。私は持っているimplemented ListView.OnScrollListener
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
int index = firstVisibleItem;
if (index < eventsList.size() && eventsList.size() > 0){
Event ev = eventsList.get(index);
setTitleDate(ev.getCalendar());
}
}
Event
は自分のものclass
で、オブジェクトをgetCalendar()
返します。オブジェクトのものです。Calendar
eventsList
arraylist
Event
setTitleDate
関数は次のとおりです。
protected void setTitleDate(Calendar cc){
dateFormatTopDateWithWeekday = new SimpleDateFormat("EEEE, d MMMM");
topDate.setText(dateFormatTopDateWithWeekday.format( cc.getTime() ).toUpperCase());
}
topDate
はtextview
:
topDate = (TextView)findViewById(R.id.event_top_date);
そして私のテンプレートの一部:
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:id="@+id/cat_top_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:layout_centerHorizontal="true"
android:layout_marginTop="7dp"
android:text="@string/main_top_name"
android:textColor="@color/header_title"
android:textSize="17sp"
android:includeFontPadding="false"
android:maxLines="1"
android:typeface="normal" />
<TextView
android:id="@+id/event_top_date"
android:layout_width="wrap_content"
android:background="@android:color/black"
android:layout_height="wrap_content"
android:layout_below="@id/cat_top_name"
android:text="@string/main_top_name"
android:textColor="@color/header_title"
android:textSize="13sp"
android:includeFontPadding="false"
android:maxLines="1"
android:typeface="normal"
/>
</RelativeLayout>
event_top_date textview
widthwrap_content
があるため、テキストを動的に設定するsetTitleDate
とwidth
、新しいテキストが大きくなると、テキストビューの幅が大きくならず、テキストが切り取られます。なぜうまくいかないのかわかりwrap_content
ません。
だから私はそのような変種を試しました:
gravity fill
テキストビューでtopDate.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
しかし、それは役に立ちませんでした。