我的微调器中的一些项目很长,我希望微调器根据文本的长度将文本换行到多行。我查看了几个解决方案,但它们不适合我。
此处显示文本不合适:
下面是我的Java代码:
public void addItemsOnSpinner3() {
spinner3D = (Spinner) findViewById(R.id.activities1);
List<String> list = new ArrayList<String>();
list.add("Academic Year Opening Program");
list.add("Academic Year Closing Program");
list.add("LR1: Defining Primary Care, Health Care Disparities & Vulnerable Populations");
list.add("LR2: Community Resources and the Elderly");
list.add("LR3: Inter-professional Teams and the Homeless");
list.add("LR4: Quality Improvement and Veterans");
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
R.layout.multiline_spinner_row, list);
dataAdapter.setDropDownViewResource(R.layout.multiline_spinner_row);
spinner3D.setAdapter(dataAdapter);
}
我创建了一个名为“multiline_spinner_row.xml”的自定义行,其中singleline被更改为false:
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:singleLine="false"
xmlns:android="http://schemas.android.com/apk/res/android" />
所有这一切只是让我的选择环绕文本,而不是项目:
任何帮助将不胜感激!提前感谢!
5条答案
按热度按时间0wi1tuuw1#
在微调器中设置此属性:
在文本视图中设置以下属性:
oknwwptz2#
这实际上对我有效(在Xamarin Android中,但问题是相同的):
代替
写
8qgya5xd3#
创建这样的xml文件,您的xml将需要有一个父布局来 Package TextView。
确保你的TextView有一个id,然后像这样创建你的适配器。
使用这个consturctor
或将textViewResourceId作为参数的任何构造函数
就是这样.你不需要覆盖任何其它的.检查下面的图像来查看效果. enter image description hereenter image description here
lztngnrs4#
"试试这个"
我用简单的编码解决了这个问题。
为Spinner分配适配器时,只需添加Android.Resource.Layout.SimpleExpandableListItem1,如下所示。
请在https://notostuck.blogspot.com/2020/08/how-to-populating-spinner-items-with.html上检查更多信息
mkh04yzy5#
用这个