ネイティブカレンダーのアジェンダと同様に、カレンダーのアジェンダを表示する必要があるアプリケーションを開発しています。私は、さまざまなイベントを表示するリストビューを持っています(注:イベントのコンテキストでは、私のシステムのエンティティです)。私はこの画面に「今日」のボタンを提供したいと思います。ユーザーがこのボタンをクリックすると、現在の1日のスケジュールの最初のイベントが画面の上になるまで、イベントはスクロールされているはずです。この問題は、今日から予定されているイベントがわずかしかない場合に発生します。画面全体を埋めるものはほとんどありません。リストビューは、カレンダーの最後のイベントが一番下になるまでスクロールします。これは、通常、最初の今日のイベントを上に置くという望ましい効果が達成されないことを意味します。最後の要素が画面の上になるまでリストビューをスクロール可能にする方法
どのようにこれを行うことができますか?私は最後にいくつかの空白の要素を追加することを考えましたが、これは醜い回避策と思われ、さらに、挿入する要素の数を教えてくれる特別なデバイス固有の計算が必要になります。
編集:
public void onTodayClicked(View target) {
// calculate the indexOf. It works and is not related to the question
if (indexOf >= 0) {
ListView list = (ListView) findViewById(R.id.events_list_view);
list.setSelection(indexOf);
}
}
私はレイアウト定義が重要であることを確認していない:コメントで要求されるように
は、実は私はこのコードは誰も驚かれることでしょうわからないが、いくつかのコードを追加します質問の答えを助けるために、しかしあなたがそう考えるならば、私はそれも加えることができます。
今スクロールしていますか?いくつかのコードを投稿できますか? – balazsbalazs