我遇到一些问题,由于Recyclerview中的descendantFocusability =“blocksDescendants”,我的edittext无法编辑。有一个Activity具有Recyclerview。如果我不使用这个descendantFocusability那么我的列表失去了它的焦点。任何人都可以帮我解决这个问题?????如何使Edittext可编辑。我尝试了所有解决方案,如focusableintouchmode =“true”和focusabale =“false”等。
先谢谢。
**MyActivity.class**
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:andandroid="http://schemas.android.com/tools"
android:descendantFocusability="blocksDescendants"
android:background="@drawable/ic_bg">
<android.support.v7.widget.RecyclerView
android:id="@+id/listQuestion"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:nestedScrollingEnabled="false"
android:orientation="vertical"
android:scrollbars="none" />
</RelativeLayout>
raw.xml
<RelativeLayout
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:hedgehog="http://schemas.android.com/tools"
android:id="@+id/rawSubQuestion"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/ic_black_left_right"
android:minHeight="@dimen/_70sdp">
<RelativeLayout
android:id="@+id/rlMain"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="@dimen/_5sdp"
android:paddingLeft="@dimen/_35sdp"
android:paddingRight="@dimen/_35sdp"
android:paddingTop="@dimen/_5sdp">
<!--Name-->
<TextView
android:id="@+id/txtName"
style="@style/commonTextStyle"
android:text="Name" />
<!--Description-->
<TextView
android:id="@+id/txtDescription"
style="@style/commonTextStyle"
android:layout_below="@+id/txtName"
android:gravity="top"
android:maxLines="3"
android:minLines="2"
android:singleLine="false"
android:text="Description"
android:textSize="@dimen/_10sdp" />
<LinearLayout
android:id="@+id/rlType"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/txtDescription"
android:layout_marginTop="@dimen/_2sdp"
android:orientation="vertical"
android:visibility="visible">
<RatingBar
android:id="@+id/ratingBar"
style="@style/RatingBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_gravity="center_vertical"
android:background="@null"
android:isIndicator="false"
android:numStars="5"
android:stepSize="1.0"
android:visibility="visible" />
<LinearLayout
android:id="@+id/circleRatingLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:visibility="visible">
<com.whinc.widget.ratingbar.RatingBar
android:id="@+id/ratingBarCircle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:rb_click_rating="true"
app:rb_count="3"
app:rb_empty="@drawable/r_circle_white"
app:rb_fill="@drawable/r_circle_yellow"
app:rb_max_count="10"
app:rb_space="10dp"
app:rb_touch_rating="true" />
<TextView
android:id="@+id/CircleRatingTV"
style="@style/commonTextStyle"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="end"
android:text="1" />
</LinearLayout>
<RelativeLayout
android:id="@+id/rlSeekBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_gravity="center_vertical"
android:visibility="visible">
<SeekBar
android:id="@+id/seekBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:max="10"
android:paddingLeft="0dp"
android:paddingRight="0dp"
android:progress="5"
android:thumb="@drawable/seekbar_thumb_drawable"
android:thumbOffset="0dp" />
<TextView
android:id="@+id/txtSeekBarCount"
style="@style/commonTextStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:gravity="center"
android:minWidth="@dimen/_40sdp"
android:text="10"
android:textSize="@dimen/_12sdp" />
</RelativeLayout>
</LinearLayout>
</RelativeLayout>
<!--Note-->
<EditText
android:id="@+id/edtNote"
style="@style/editTextWhiteGray"
android:layout_centerVertical="true"
android:hint="@string/Note"
android:layout_below="@id/rlMain"
android:inputType="textMultiLine"
android:visibility="gone" />
答案 0 :(得分:2)
您的EditText位于根ViewGroup(RelativeLayout)之外:
</RelativeLayout>
<!--Note-->
<EditText
android:id="@+id/edtNote"
style="@style/editTextWhiteGray"
android:layout_centerVertical="true"
android:hint="@string/Note"
android:visibility="gone"
/>
在RelativeLayout中包含EditText。此外,您应该添加 android:inputType 外观here以获取更多信息。将 LayoutParams 添加到您丢失的所有视图中,为什么需要描述here。并在代码中重新检查有关EditText小部件的所有逻辑。