android自定义listview行不';在手机/模拟器上看不到匹配
我目前在自定义listview布局方面遇到问题。我用定制适配器完成了我认为最难的部分。所有的数据都在那里,只是看起来不像在XML中那样。在手机和模拟器上 示例(忽略边框。黄色为行) XML文件的外观 它呈现为什么 自定义布局的我的XML文件:android自定义listview行不';在手机/模拟器上看不到匹配,android,android-listview,Android,Android Listview,我目前在自定义listview布局方面遇到问题。我用定制适配器完成了我认为最难的部分。所有的数据都在那里,只是看起来不像在XML中那样。在手机和模拟器上 示例(忽略边框。黄色为行) XML文件的外观 它呈现为什么 自定义布局的我的XML文件: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="70dp"
android:maxHeight="30dp"
android:background="@color/yellow" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_marginLeft="30dp"
android:gravity="right"
android:text="1"
android:textColor="@color/red"
android:textStyle="bold"/>
<ImageView
android:id="@+id/imageView1"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginLeft="5dp"
android:layout_toRightOf="@+id/textView1"
android:src="@drawable/blankuser"/>
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_margin="3dp"
android:layout_toRightOf="@+id/imageView1"
android:text="username"
android:textColor="@color/black"
android:textSize="16dp"/>
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_toRightOf="@+id/imageView1"
android:text="Clout: "
android:textColor="@color/dgreen"
android:textSize="12dp"
android:textStyle="bold|italic"/>
<TextView
android:id="@+id/textView3"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView2"
android:layout_centerVertical="true"
android:ellipsize="end"
android:text="TextView"
android:textColor="@color/black"
android:textSize="10dp"/>
<TextView
android:id="@+id/textView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_toRightOf="@+id/textView4"
android:text="TextView"
android:textColor="@color/dgreen"
android:textSize="12dp"
android:textStyle="bold|italic"/>
<TextView
android:id="@+id/textView7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="23dp"
android:text=">"
android:textStyle="bold"/>
<TextView
android:id="@+id/textView6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginRight="5dp"
android:layout_toLeftOf="@+id/textView7"
android:text="score"
android:textColor="@color/red"
android:textSize="16dp"
android:textStyle="bold"/>
</RelativeLayout>
提前感谢
编辑:
让它工作起来。这是一个错误的图片或包。我必须清理包,删除R.java,然后删除imageView。在读取并构建imageView之后,它看起来应该是这样的。您正在代码中添加视图的“Clout:”部分,该部分不会在eclipse编辑器中呈现。为clout设置一些默认文本,它应该与设备的渲染匹配。这个视图很可能是导致问题的原因。结果是
图像视图出现问题。我删除了它并将其重新添加到XML中,它可以按预期工作。感谢您的帮助,我希望这对其他人有所帮助。请查看此网站,以供参考:
所有文本视图都有默认文本。样式设置为斜体,因此不会在eclipse中渲染。我现在讨论的问题是图像上方和下方的空间。因为它不会在eclipse中渲染,所以它不会添加正确的填充或边距。尝试在不使用斜体字的情况下修复它,使其呈现,然后在不使用斜体字的情况下更改斜体字。我测试并使相对高度=20dp,它压扁了一切。我运行了这个应用程序,它在我的手机上显示的一模一样。我的自定义适配器中一定有人可以设置高度或覆盖XML高度的内容。请问还有其他想法吗?
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View rowView = convertView;
LeaderView ldrView = null;
if(rowView == null)
{
LayoutInflater inflater = activity.getLayoutInflater();
rowView = inflater.inflate(R.layout.customlist, null);
ldrView = new LeaderView();
ldrView.username = (TextView) rowView.findViewById(R.id.textView2);
ldrView.hometown = (TextView) rowView.findViewById(R.id.textView3);
ldrView.score = (TextView) rowView.findViewById(R.id.textView6);
// ldrView.avatar = (ImageView) rowView.findViewById(R.id.imageView1);
ldrView.ranking = (TextView) rowView.findViewById(R.id.textView1);
ldrView.clout = (TextView) rowView.findViewById(R.id.textView5);
rowView.setTag(ldrView);
} else {
ldrView = (LeaderView) rowView.getTag();
}
LeaderList currentLeader = (LeaderList) leaders.get(position);
ldrView.username.setText(currentLeader.getUsername());
ldrView.hometown.setText(currentLeader.getHometown());
ldrView.score.setText(currentLeader.getScore());
ldrView.ranking.setText(currentLeader.getRanking());
ldrView.clout.setText(currentLeader.getClout());
return rowView;
}