1

最近、 をインスタンス化する方法を理解しListView、 と を使用onAnimationEndして、プログラムperformItemClickで の最初の項目をクリックすることができました。ListView

このソリューションは素晴らしく機能しますが、私の問題はListView、画面に収まらないほど多くのアイテムが含まれている場合、ListView代わりに (1 つだけではなく) 内の他のアイテムが選択されることです。なぜこれが起こるのか、それを修正する方法を知っている人はいますか?

@Override
public Animation onCreateAnimation(int transit, boolean enter, int nextAnim) {
    if (savedInstanceState == null) {
        Animation anim = AnimationUtils.loadAnimation(getActivity(), nextAnim);

        anim.setAnimationListener(new AnimationListener() {

            public void onAnimationStart(Animation animation) {}

            public void onAnimationRepeat(Animation animation) {}

            public void onAnimationEnd(Animation animation) {
                mListView.performItemClick(mListView, 0, mListView.getItemIdAtPosition(0));
            }
        });
        return anim;
    } else {
        return super.onCreateAnimation(transit, enter, nextAnim);
    }
}
4

1 に答える 1

4

試す

mListView.performItemClick(mListView.getAdapter().getView(your_click_position, null, null), your_click_position, mListView.getItemIdAtPosition(your_click_position));

または

mListView.performItemClick(mListView.getChildAt(your_click_position), your_click_position, mListView.getItemIdAtPosition(your_click_position));

それ以外の

mListView.performItemClick(mListView, 0, mListView.getItemIdAtPosition(0));
于 2013-08-29T13:58:50.707 に答える