使用给定的文本大小计算多行textview所需的行

时间:2016-06-15 09:54:28

标签: android android-layout listview textview

每当我将一个大字符串放到textview上然后将其添加为listview的元素时,我都会收到错误(图层超出最大尺寸)。 这是我的list_item_simple_black_tv.xml

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tv"
android:textColor="@android:color/white"
android:layout_width="match_parent"
android:gravity="center"
android:layout_height="wrap_content"
android:textSize="30dp"
android:singleLine="false"
android:scrollHorizontally="false"
android:ellipsize="end"
android:minLines="1"
android:maxLength="100"
/>

然后我尝试将其添加到布局上的列表中,如下所示: enter image description here 我用来填充列表的代码是:

String[] specialOffers = shop.getSpecialOffers().split("~");//this is the means of grabbing data. I have tested it and its valid
    ListView specialOffersListView = (ListView) findViewById(R.id.specialOffersList);
    ArrayAdapter<String> specialOffersListViewAdapter = new ArrayAdapter<String>(getApplicationContext(),R.layout.list_item_simple_black_tv, specialOffers);
    specialOffersListView.setAdapter(specialOffersListViewAdapter);
    specialOffersListView.setClickable(false);
    specialOffersListViewAdapter.notifyDataSetChanged();

经过我自己的进一步调查后,我得出结论,每当我添加一个包含大字符串的数组时,应用程序可能会崩溃,因为文本会向右移动太多&#34;并且不会自动转换多行以适合列表。

1 个答案:

答案 0 :(得分:0)

添加此行

android:singleLine="true"

而不是

android:singleLine="false"