有以下布局:
<LinearLayout android:id="@+id/colleagues_show_email_linearLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:clickable="true"
android:background="?attr/clickableItemBackground">
<ImageView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher"/>
<TextView android:id="@+id/colleagues_show_email_textView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"/>
</LinearLayout>
当我点击ImageView时,LinearLayout以与ListView相同的方式更改背景。但是单击TextView不会改变背景。怎么了?
更新 我在TextView上有一个View.OnClickListener(只有onClick(View v){Log.d(TAG,“Email onClick”);}),这就是问题所在。删除setOnClickListener行后,它开始按预期工作。
答案 0 :(得分:1)
将textview高度和宽度设置为wrap_content。
答案 1 :(得分:0)
更改布局的颜色
imageview.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
linearlayout.setBackgroundColor(
Color.parseColor("your colourcode(ex.#AE00FF)"));
}
});
获取颜色
ColorDrawable cd = (ColorDrawable) listview.getBackground();
int colorCode = cd.getColor();
答案 2 :(得分:0)
ImageView
没有点击事件,但TextView
自己处理点击事件。点击它时,它允许您编辑里面的文本。实际上您没有单击List项,因此它不会执行List选择器。您必须设法从onClick
触发列表项TextView
事件,可能来自TextView
&#39; onClick
事件...或者{{ 3}}也可以帮助。它建议在您的布局上使用android:descendantFocusability="blocksDescendants"
。