Zar*_*rah 1 android listview listadapter
我正在尝试创建一个ListView,它将填充数组中的条目.
所以这是我的项目布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="60dip" >
<ImageView android:id="@+id/list_item_image"
android:layout_height="wrap_content"
android:padding="2dip"
android:layout_gravity="center_vertical|center_horizontal"
android:layout_width="50dip"/>
<TextView android:id="@+id/list_item"
android:layout_height="fill_parent"
android:textSize="25sp"
android:layout_width="fill_parent"
android:ellipsize="marquee"
android:gravity="center_vertical"
android:padding="5dip" >
</TextView>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
我试图改变layout_height
的LinearLayout
,但我遇到了一些问题.如果我保持高度wrap_content
,我的列表将显示正确的条目 - 项目1,项目2,项目3,依此类推,直到项目12.但是如果我将高度更改为60dip
,则条目在第六个条目后重复(I得到第1项,第2项,第3项,第4项,第5项,第6项,第1项,第2项,第3项......).如果我继续增大,则条目会更频繁地重复.
这是ListAdapter
我设置列表条目的片段:
public View getView(int position, View convertView, ViewGroup parent) {
LinearLayout layout;
if (convertView == null){
layout = (LinearLayout) LayoutInflater.from(mContext).inflate(R.layout.items_list_item, parent, false);
TextView title = (TextView) layout.findViewById(R.id.list_item);
title.setText(menuItems[position]);
ImageView icon = (ImageView) layout.findViewById(R.id.list_item_image);
int logo = getResources().getIdentifier(menuIcons[position], "drawable", getPackageName());
icon.setImageResource(logo);
} else {
layout = (LinearLayout) convertView;
}
return layout;
}
Run Code Online (Sandbox Code Playgroud)
还有其他人遇到过这个问题吗?我不明白发生了什么,因为我认为它应该直接从阵列中抓取.
编辑:包括我的整个getView()方法.原谅获取图标的丑陋方式,我还没弄明白,
您没有发布足够的代码,但在您的Adapter的getView(...)中尝试使用convertView.
public View getView(int position, View convertView, ViewGroup parent){
if(convertView == null){
convertView = mInflater.inflate(R.layout.my_listitem_row, parent, false);
}
//...fill the TextViews on your layout
return convertView;
}
Run Code Online (Sandbox Code Playgroud)
获取图标应该很简单
icon.setImageResource(R.drawable.my_icon); //the res/drawable folder has the my_icon.png file
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3938 次 |
最近记录: |