Android Listview自定义行-不够高
我有一个包含自定义行的listview。当我显示带有自定义行的listview时,所有行的高度只有大约2px。我在安卓4.0设备和安卓2.x仿真器上进行了尝试。我添加了问题的屏幕截图。 准备,这里有很多代码: 这是我的自定义行代码:Android Listview自定义行-不够高,android,listview,Android,Listview,我有一个包含自定义行的listview。当我显示带有自定义行的listview时,所有行的高度只有大约2px。我在安卓4.0设备和安卓2.x仿真器上进行了尝试。我添加了问题的屏幕截图。 准备,这里有很多代码: 这是我的自定义行代码: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layo
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="105px"
android:background="#fff"
android:orientation="vertical"
android:paddingLeft="15dp" >
<TextView
android:id="@+id/toptext"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_alignParentBottom="true"
android:layout_alignParentTop="true"
android:layout_marginTop="8px"
android:gravity="top"
android:text="name"
android:textColor="#322a37"
android:textSize="11pt" />
</RelativeLayout>
我的活动中的代码:
public class ListActivity extends BaseActivity {
private ArrayList<User> m_items;
private ObjectAdapter m_adapter;
private EditText textSearch;
private ListView listView;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.list);
textSearch = (EditText) findViewById(R.id.textSearch);
listView = (ListView) findViewById(R.id.listView);
m_items = new ArrayList<User>();
//(fill m_items, goes well)
this.m_adapter = new ObjectAdapter(this, R.layout.row_text, m_items);
listView.setAdapter(this.m_adapter);
}
private class ObjectAdapter extends ArrayAdapter<User> {
private ArrayList<User> items;
@SuppressWarnings("unchecked")
public ObjectAdapter(Context context, int textViewResourceId,
ArrayList<User> items) {
super(context, textViewResourceId, items);
this.items = items;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
LayoutInflater vi = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.row_text, null);
}
User u = items.get(position);
if (u != null) {
TextView top = (TextView) v.findViewById(R.id.toptext);
if (top != null) {
top.setText(u.getName());
}
}
return v;
}
}
}
公共类ListActivity扩展了BaseActivity{
私有ArrayList m_项;
私有对象适配器m_适配器;
私人编辑文本搜索;
私有列表视图列表视图;
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.list);
textSearch=(EditText)findViewById(R.id.textSearch);
listView=(listView)findViewById(R.id.listView);
m_items=new ArrayList();
//(填写m_项目,进展顺利)
this.m_adapter=新对象适配器(this,R.layout.row_text,m_项);
setAdapter(这个.m_适配器);
}
私有类ObjectAdapter扩展了ArrayAdapter{
私有ArrayList项;
@抑制警告(“未选中”)
公共对象适配器(上下文上下文,int textViewResourceId,
ArrayList项目){
super(上下文、textViewResourceId、项);
这个项目=项目;
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
视图v=转换视图;
如果(v==null){
LayoutInflater vi=(LayoutInflater)getSystemService(Context.LAYOUT\u INFLATER\u SERVICE);
v=vi.充气(R.布局.行\文本,空);
}
用户u=项目。获取(位置);
如果(u!=null){
TextView top=(TextView)v.findViewById(R.id.toptext);
如果(顶部!=null){
setText(u.getName());
}
}
返回v;
}
}
}
有人知道为什么会这样吗?这句话:
android:layout_height="0dip"
我并不觉得自己特别聪明。这句话:
android:layout_height="0dip"
我觉得这并不特别聪明。编辑自定义行xml并更正文本视图的高度
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="105px"
android:background="#fff"
android:orientation="vertical"
android:paddingLeft="15dp" >
<TextView
android:id="@+id/toptext"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentTop="true"
android:layout_marginTop="8px"
android:gravity="top"
android:text="name"
android:textColor="#322a37"
android:textSize="11pt" />
编辑自定义行xml并更正文本视图的高度
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="105px"
android:background="#fff"
android:orientation="vertical"
android:paddingLeft="15dp" >
<TextView
android:id="@+id/toptext"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentTop="true"
android:layout_marginTop="8px"
android:gravity="top"
android:text="name"
android:textColor="#322a37"
android:textSize="11pt" />
Lol。。我怎么能这么笨。谢谢,伙计,在搜索了一段时间后没有看到这个打字错误。哈哈。。我怎么能这么笨。谢谢,伙计,在搜索了一段时间后没有看到这个打字错误。