将OnItemClickListener添加到android中的ListView中的标头上

时间:2012-01-10 23:04:47

标签: android listview header listener

我正在尝试向listview中的标题添加一个on click侦听器。我可以很好地访问listview中的元素,但是我无法访问(甚至不添加侦听器)到实际的头文件中。这样做的原因是我希望我的列表能够给出其他列表中项目的摘要,如果单击标题,它将指向另一个显示完整列表的屏幕。我想也许传入重写的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 );

即使稍后移动标题侦听器的设置,它也不起作用。有什么想法吗?

0 个答案:

没有答案