我创建了一个列表视图,并为其添加了一个标题(通过使用addHeaderview(layout)),然后我写了一个点击事件,如:
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){
}
但是当我点击标题时,这个onClick事件没有触发,所以有人能告诉我如何解决我的问题?
答案 0 :(得分:4)
试试吧..
itemView.setOnClickListner(new View.OnClickListner()
{
@Override
public void onClick(View v)
{
}
}
如果你在buypwr.xml中有TextView,那么试试这个
TextView txt = (TextView)itemView.findViewById(......);
txt.setOnClickListner(new View.OnClickListner()
{
@Override
public void onClick(View v)
{
}
}
答案 1 :(得分:4)
如果您想要可点击的标题作为基本列表项。使用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
}
});
答案 2 :(得分:3)
对我有用的是什么:
在对标题视图进行膨胀之前,在将其添加到列表视图之前,我使用该视图获取子视图并在其上添加单击侦听器
myHeaderView.findViewById(R.id.myButton).setOnClickListener(new OnClickListener() { ... } );
另外,当我将它添加到listView时,我使用了重载的构造函数,第三个变量设置为true
mListView.addHeaderView(myHeaderView, null, true);
答案 3 :(得分:0)
使用setOnItemClickListener为列表设置click事件,并实现自定义的OnItemClickListener供您自己使用。
android.widget.AdapterView.setOnItemClickListener(OnItemClickListener listener)
答案 4 :(得分:0)
如果你没有任何可以拥有监听器的特定小部件(按钮等),你可以通过调用onItemClickListener()来获取你的标题,因为@Nicoloas在位置0表示它是第一个项目。您甚至可以为标题视图设置特定的标识,并通过调用view.getId()在onItemClickListener()中访问它。如果不是,请告诉我。