所以,我有一个标题视图定义如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="10dp"
android:paddingTop="5dp"
android:paddingBottom="5dp">
<TextView android:id="@+id/purchase_menu_header_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="20sp"
android:text="@string/purchase_options_label"/>
</LinearLayout>
夸大如下:
View header = ((Activity) context).getLayoutInflater().inflate(R.layout.purchase_menu_header, options, false);
options.addHeaderView(header);
我在ListView选项中有项目的点击监听器:
options.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
Offer offer = (Offer) options.getItemAtPosition(position);
initiatePurchase(offer.getStoreProduct());
}
});
标题视图本身的点击监听器:
header.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View view)
{
baseLayout.removeView(background);
baseLayout.removeView(overlay);
}
});
我的问题是标题只记录标题文本部分的点击。所需的行为是使整个标题可单击。我尝试过使用setOnItemClickListener和getItemAtPosition(0)等解决方案,但这会返回null。还尝试使用MATCH_PARENT扩展标题中的文本视图,但没有运气。
答案 0 :(得分:0)
尝试使用android:clickable属性点击您的LinearLayout。
答案 1 :(得分:0)
我的问题是标题只记录文本的点击次数 标题的一部分。
因为您的标题只是TextView
,wrap_content
为宽度和高度。因此,您正在clicklistener
将TextView
应用于受限制的可点击区域。
解决方案:
match_parent
作为TextView
的宽度。或LinearLayout
的{{1}}作为标题,并使其成为可嵌入的。希望它对你有所帮助。