Dom*_*Dom 6 android multiline android-listview android-edittext android-recyclerview
我有一个RecyclerView
包含多行EditText
作为列表项的,EditText
每次添加一行时都会展开.它RecyclerView
有一个标准的垂直LinearLayoutManager
和一个RecyclerView.Adapter<RecyclerView.ViewHolder>
带有15个EditText列表项的标准适配器.我将在问题的最后添加代码.
问题是,在您添加了多行之后EditText
,每次添加一行时它都会开始向下滚动列表.最后,在添加了足够多的新行后,EditText将从屏幕顶部滚动并失去焦点.如果您尝试向上滚动并选择最后一行EditText
,它将向下滚动列表,直到EditText
它离开屏幕顶部并失去焦点.
这不是问题ListView
,仅适用于RecyclerView
.
有谁知道如何修复或解决这个问题?
订单项:
<EditText xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textMultiLine|textCapSentences"
android:gravity="top"
android:hint="Enter text"
android:minLines="2"
android:layout_margin="16dp"/>
Run Code Online (Sandbox Code Playgroud)
RecyclerViewFragment和Adapter
public class RecyclerViewFragment extends Fragment
{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
View view = inflater.inflate(R.layout.recycler_view_fragment, container, false);
RecyclerView recyclerView = (RecyclerView) view.findViewById(R.id.recycler_view);
recyclerView.setAdapter(new MyAdapter());
recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
return view;
}
private class MyAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>
{
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType)
{
View view = getActivity().getLayoutInflater().inflate(R.layout.edit_text_list_item, parent, false);
MyViewHolder holder = new MyViewHolder(view);
return holder;
}
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position)
{
}
@Override
public int getItemCount()
{
return 15;
}
private class MyViewHolder extends RecyclerView.ViewHolder
{
public MyViewHolder(View itemView)
{
super(itemView);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2136 次 |
最近记录: |