在我的项目中,我有一个带有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"/>
我在网上发现很多帖子都是我的,但都没有解决方案。 我该如何解决这个问题?
答案 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"/>