android ListView mListView.getChildAt(i) est nul, comment le résoudre?

J'ai créer le code ci-dessous:

 mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, View v, int position,
                long id) {

            for (int i = 0; i < mListView.getCount(); i++) {
                View callLogView = mListView.getChildAt(i);   
                mRelativeLayout = (LinearLayout)callLogView.findViewById(R.id.myShow);
                if(i == position){
                    if(mRelativeLayout.getVisibility() == View.GONE){
                        mRelativeLayout.setVisibility(View.VISIBLE);
                    }
                    else{
                        mRelativeLayout.setVisibility(View.GONE);
                    }
                }else{
                    mRelativeLayout.setVisibility(View.GONE);
                }
            }

        }
    });

Je veux réaliser une fonction comme lorsque je clique sur un élément de Listview, il affiche une vue, et les autres éléments de contrôle Listview être caché. Mais mListView.getChildAt(i) aura le pointeur null après excéder mListView.getChildCount().

Comment résoudre ce problème? Merci à l'avance!

OriginalL'auteur DaringLi | 2013-01-31