Как создать событие по клику для детей в Расширяемом списке - PullRequest
6 голосов
/ 05 августа 2010

Я играю с этим примером.http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/view/ExpandableList2.html

Я не могу понять, как прикрепить слушателя к дочерним элементам, чтобы я мог инициировать некоторые действия, когда пользователь нажимает на номер телефона.

Любой код или ссылки будутс благодарностью.

Ответы [ 3 ]

20 голосов
/ 05 августа 2010

Вам необходимо подписаться на setOnChildClickListener

getExpandableListView().setOnChildClickListener(this);

и реализовать OnChildClickListener

@Override
public boolean onChildClick(ExpandableListView parent, View v, int groupPosition,
        int childPosition, long id) {
    // use groupPosition and childPosition to locate the current item in the adapter
    return true;
}
2 голосов
/ 08 августа 2012

Вы должны указать расположение элементов в расширяемом списке, как это

listView.setOnChildClickListener(new OnChildClickListener()
{
    @Override
    public boolean onChildClick(ExpandableListView parent, View v, int group_position, int child_position, long id)
    {
        if(group_position==0 && child_position==0){
            TryFragment secondFragment = (TryFragment) SampleActivity.this.getFragmentManager().findFragmentById(R.id.tryFragment);
            secondFragment.getView().setVisibility(View.VISIBLE);
        } else if(group_position==2 && child_position==2){
            TryFragment secondFragment = (TryFragment) SampleActivity.this.getFragmentManager().findFragmentById(R.id.tryFragment);
            secondFragment.getView().setVisibility(View.VISIBLE);
        }
        return false;
    }
});
1 голос
/ 05 августа 2010

Вы должны переопределить onChildClick в своем расширении ExpandableListActivity.

...