[Android] ListView剪切TextView文本

时间:2015-03-27 10:36:54

标签: android listview layout text adapter

在我的项目中,我有一个带有ListView的Activity,其中一个BaseAdapter显示了一个自定义项列表布局。 此列表项布局具有textview,如果有多行,则其文本被截断。 我写的代码是这样的:

活动onCreate方法:

lv = (ListView) findViewById(R.id.listView3);
listaCompleta = new ArrayList<String>();
listaCompleta.add ("Item1");
listaCompleta.add ("Example text");
listaCompleta.add ("This is an example text for writing more than a line in the listview item row blablabla blablabla blablabla");
adapter = new BaseAdapter () {

        @Override
        public int getCount() {
            return listaCompleta.size();
        }

        @Override
        public Object getItem(int position) {
            return listaCompleta.get(position);
        }

        @Override
        public long getItemId(int position) {
            return (long)position;
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            View view = getLayoutInflater().inflate(R.layout.item_list_layout, null);
            TextView tv1 = (TextView) view.findViewById(R.id.testoItemList);
            tv1.setText(listaCompleta.get(position));

            return view;
        }

    };
lv.setAdapter(adapter);

item_list_layout.xml是这样的:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:id="@+id/item_list_layout">

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/testoItemList"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:textAppearance="?android:attr/textAppearanceListItemSmall"
    android:gravity="center_vertical"/>

<CheckBox
    android:id="@+id/checkBoxItemList"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:button="@drawable/checkbox_selector"/>

checkbox_selector.xml是这样的:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@drawable/star" android:state_checked="false"/>
<item android:drawable="@drawable/star_active" android:state_checked="true"/>
<item android:drawable="@drawable/star"/>

我在网上发现很多帖子都是我的,但都没有解决方案。 我该如何解决这个问题?

3 个答案:

答案 0 :(得分:0)

尝试用此

替换TextView
<TextView 
    android:id="@+id/testoItemList"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:singleLine="false"
    android:gravity="center_vertical"/>

答案 1 :(得分:0)

我认为你应该在文本视图中更改layour_heigth,在wrap_content中更改Linearlayout。如果textview有更多的行de容器扩展来调整。我选择match_parent列表视图设置的容器大小。

您更改此行:

View view = getLayoutInflater().inflate(R.layout.item_list_layout, null);

为此:

View view = getLayoutInflater().inflate(R.layout.item_list_layout, parent,false);

或布局参数被忽略。

这很好用

答案 2 :(得分:-1)

试试这个。改变

android:layout_height="match_parent"

android:layout_height="wrap_content"

例如:

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/testoItemList"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceListItemSmall"
    android:gravity="center_vertical"/>