Добавление OnItemClickListener в заголовок в ListView в Android - PullRequest
1 голос
/ 11 января 2012

Я пытаюсь добавить прослушиватель по щелчку к заголовку в просмотре списка.Я могу получить доступ к элементам в списке, но я не могу получить доступ (или даже добавить слушателя) к фактическому заголовку.Причина этого в том, что я хотел бы, чтобы мой список содержал сводку элементов в других списках, и если вы нажмете на заголовок, он перейдет на другой экран, который показывает полный список.Я подумал, что, возможно, индекс, переданный в переопределенный onItemClick, даст ему индекс 0 (являющийся первым элементом в списке), но 0 никогда не передается как индекс;1 - самая низкая передаваемая вещь, и это первый элемент в списке под заголовком.Вот что я имею в виду:

public void onItemClick( final AdapterView<?> parent, final View item, 
                               final int index, final long id) {
        switch(index)
        {
        case 0:
            Toast.makeText( this, "CLICKED ON HEADER", Toast.LENGTH_LONG).show();
            break;
        case 1:
            Toast.makeText( this, "Clicked on 1st item in list", Toast.LENGTH_LONG).show();
            ...

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

    favorites_list_view = (ListView) findViewById ( R.id.main_favorite_view );
    FavoritesAdapter adapter = new FavoritesAdapter( (Context)this, favoriteData );

    View header = (View)getLayoutInflater().inflate( 
                                          R.layout.list_header_with_icon, null );
    TextView headerTitle = (TextView)header.findViewById( R.id.main_header_text );
    headerTitle.setText( "Top Favorites" );
    headerIcon = (ImageButton)findViewById( R.id.main_header_icon );
    headerIcon.setOnClickListener( (OnClickListener)this );
    favorites_list_view.addHeaderView( header );

    favorites_list_view.setAdapter( adapter );
    favorites_list_view.setOnItemClickListener( (OnItemClickListener)this );

Это не работает, даже если позже я перенесу настройку слушателя заголовка.Есть идеи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...