我有各种TextView的列表。然后我有一个onItemClick
处理程序来处理用户点击项目的时间。
我想要点击一些TextView。有些我不想被点击。
对于不可点击的TextView,我使用以下XML
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/item_separator_text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="@color/black"
android:background="@drawable/rounded_corners_none"
android:textSize="16sp"
android:paddingTop="15dp"
android:paddingBottom="5dp"
android:paddingLeft="15dp"
android:enabled="false"
style="?android:attr/listSeparatorTextViewStyle" />
我在那里有enabled="false"
,但该项仍然可以点击。是否有可用于使TextView无法点击的XML属性?
或者问题是我没有真正单击TextView而是单击包含TextView的视图?
禁用点击的唯一方法是以编程方式执行吗?
public void onItemClick(...)
{
if ( // view is disabled )
return;
// else, do something
}
答案 0 :(得分:6)
不确定
android:clickable="false"
在代码中,您可以使用setClickable()方法。
“可点击性”是所有View类型和ViewGroups都有的东西,但有时你必须要小心一点,ViewGroup如何/何时将点击(或不是)传递给它的孩子。
此外,检查后,启用似乎不是TextViews的有效属性。
答案 1 :(得分:-2)
这对我来说很好用:
editText.setInputType(View.LAYER_TYPE_NONE);