私はLinearLayout
他のいくつかのビューを含むを持っています、そしてそれらの中にはListView
。このビューは、ボタンをクリックすることで別のビューからロードされます。
このボタンは、どういうわけか、ListViewのどの要素がリストの最初に表示される要素である必要があるかを指定します。リストに入力される要素は、HTTPを介して外部サーバーから取得されます。
問題は、N番目の要素をリストの最初にすることができることです。現在の位置から新しい位置に移動したくないので、リストをスクロールしたいので注意してください。
私はandとandを試しましsetSelected()
たscrollTo(x,y)
がscrollBy(x,y)
、運がありませんでした。
私はまた、このコードを試してみましたが、それが機能していたかどうかを試してみたかっただけです。
ListView categoryList = (ListView)findViewById(R.id.category_list);
categoryList.post(new Runnable() {
@Override
public void run() {
Log.d(this.getClass().getName(), "CategoryActivity.scrollToIndex: " + CategoryActivity.scrollToIndex);
if(CategoryActivity.scrollToIndex>0){
ListView categoryList = (ListView)findViewById(R.id.category_list);
categoryList.setScrollContainer(true);
categoryList.scrollTo(4, CategoryActivity.scrollToIndex * 50);
categoryList.requestLayout();
}
}
});
そして、これは私にいくらかの成功をもたらしました、しかし、ListViewはそれから私が説明することさえできない方法で狂ったように振る舞っていました...。
何か案が?