我目前遇到自定义列表视图布局的问题。我得到了我认为最难完成定制适配器的部分。所有的数据都在那里它看起来不像它在XML中那样。在手机和模拟器上都有。
示例(忽略边框。黄色是行)
XML文件的外观。
它呈现的是什么。
我的自定义布局的XML文件:
<?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>
我的适配器getView:
@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;
}
先谢谢!
编辑:
搞定了。这是图片或包装的错误。我不得不清理包,删除R.java,并删除imageView。在读取imageView并构建它之后看起来应该是这样。
答案 0 :(得分:0)
你在代码中添加了视图的“Clout:”部分,它不会在eclipse编辑器中呈现。为clout设置一些默认文本,它应该与设备的渲染相匹配。这种观点很可能是造成这个问题的原因。
答案 1 :(得分:0)
原来是imageView
的问题。我删除并重新添加到XML中,并且它正在按需运行。感谢您的帮助,我希望这有助于其他人。
答案 2 :(得分:0)