有没有办法允许用户从一行中的许多`EditText中选择文本(在ListView中)?

时间:2014-08-06 03:27:51

标签: android android-listview android-edittext textselection

我正在尝试在IM应用程序中使用ListView作为消息历史记录,以前使用单个WebView显示历史记录,我正在考虑如何实现文本选择。

我发现至少有一个主要问题 - ListView回收视图,所以如果用户试图从很多项目中选择文本,那么天真的方式将无法工作,并且将列表滚动远离开头的选择。但无论如何,Android不会让选择从一个EditText“跳”到另一个private class MessagesAdapter extends ArrayAdapter<String> { public MessagesAdapter(Context context, List<String> objects) { super(context, 0, objects); } @Override public EditText getView(int position, View convertView, ViewGroup parent) { final EditText result = (EditText)(convertView == null ? LayoutInflater.from(getContext()).inflate(R.layout.message_row, parent, false) : convertView); result.setText(getItem(position)); return result; } } 。那么,有没有(酷)方式来实现这样的功能? (如果它仅适用于Android 4.0+,则可以。)

我目前的例子是由以下代码组成的:

适配器:

<?xml version="1.0" encoding="utf-8"?>
<EditText xmlns:android="http://schemas.android.com/apk/res/android"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:cursorVisible="false"
          android:editable="false"
          android:textIsSelectable="true"/>

行布局:

EditText

我可以在一个EditText中选择文字,但不能同时在多个{{1}}中选择。

0 个答案:

没有答案