【发布时间】:2014-08-06 11:54:52
【问题描述】:
我想用可编辑的editText制作一个可点击的listView。
我有一个自定义列表 adapter.java、自定义列表 item.xml、mainActivity.java。
我试过了
1. android:descendantFocusability="blocksDescendants"
=> 失败。无法编辑editText。
2.editText android:focusable/enable/clickable = true
=> 失败。无法点击列表查看项目
3.getView{editText.onClickListener}
=>失败了。
我想EDITABLE editText,而不仅仅是可点击的editText 和可点击的listView(listItem)。 请帮忙。
customitem.XML
...
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:gravity="center_vertical"
android:descendantFocusability="blocksDescendants"
>
//android:descendantFocusability="blocksDescendants" doesn't work
<EditText
android:id="@+id/tvItem"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:textSize="20sp"
android:textColor="#ffffff"
android:layout_marginLeft="25dp"
android:textStyle="bold"
android:background="@null"
android:shadowColor="@color/shadow"
android:shadowDx="3"
android:shadowDy="3"
android:shadowRadius="1"
android:imeOptions="actionDone"
android:inputType="text"
android:focusable="true"
/>
<TextView
android:id="@+id/tvItemCount"
android:layout_width="@dimen/list_height"
android:layout_height="70dp"
android:layout_alignParentRight="true"
android:textColor="#ffffff"
android:textSize="22dp"
android:text="6"
android:background="#3300b7ff"
android:gravity="center_vertical|center_horizontal"
android:shadowColor="@color/shadow"
android:shadowDx="3"
android:shadowDy="3"
android:shadowRadius="1"
android:textStyle="bold"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="2dp"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:background="@color/dark_shadow" >
</LinearLayout>
</RelativeLayout>
...
【问题讨论】:
-
android:descendantFocusability="beforeDescendants" 怎么样?
-
检查适配器上的方法“isEnabled(position)”。它应该返回 true。
-
这可能会让您了解如何实现您想要的目标。这里实现了类似的事情,但方式有所不同。 EditText 在项目点击时显示:stackoverflow.com/questions/18841650/…
标签: java android listview android-listview android-edittext