How to trigger click event on Android ListView Header?

I created a list view and I added a title (using addHeaderview (layout)), then I write a click event, for example:

LayoutInflater inflater = (LayoutInflater)getSystemService(LAYOUT_INFLATER_SERVICE); View itemView = inflater.inflate(R.layout.buypwr, null); itemView.setOnClickListner(new OnClickListner(){ @Override public void onClick(View v){ } 

But this onClick event did not fire when I clicked on the title, so can someone tell me how I can solve my problem?

Thanks, @nag.

+4
source share
5 answers

just try this.

 itemView.setOnClickListner(new View.OnClickListner() { @Override public void onClick(View v) { } } 

If you have a TextView in buypwr.xml try this

 TextView txt = (TextView)itemView.findViewById(......); txt.setOnClickListner(new View.OnClickListner() { @Override public void onClick(View v) { } } 
+3
source

If you want the title bar to be selected as a list item. Fill it with a ListView.

 LayoutInflater inflater = LayoutInflater.from(mContext) mListView.addHeaderView(inflater.inflate(R.layout.list_item_header, mListView, false)); mListView.setAdapter(mAdapter); mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { //parent.getItemAtPosition(position) //Prepare to get it at position == 0 } }); 
+3
source

What worked for me:

When inflating the title view before adding it to the list, I then used this view to get a subview and add a click listener to it

 myHeaderView.findViewById(R.id.myButton).setOnClickListener(new OnClickListener() { ... } ); 

also, when I added it to listView, I used an overloaded constructor with the third variable set to true

 mListView.addHeaderView(myHeaderView, null, true); 
+2
source

use setOnItemClickListener to set the click event for the list and implement an individual OnItemClickListener for your own use.

android.widget.AdapterView.setOnItemClickListener (OnItemClickListener listener)

0
source

If you don't have specific widgets (buttons, etc.) that the listener can have, you can get your title by calling onItemClickListener (), as @Nicoloas said at position 0 as its first element. You can even set a specific identifier for your title and access it in onItemClickListener () by calling view.getId (). Let me know if otherwise.

0
source

All Articles