Android 使用自定义ArrayAdapter在我的listview中只能看到一条记录
我尝试创建一个自定义阵列适配器,以便为我的应用程序创建自定义列表视图。 我制作的适配器:Android 使用自定义ArrayAdapter在我的listview中只能看到一条记录,android,listview,android-arrayadapter,Android,Listview,Android Arrayadapter,我尝试创建一个自定义阵列适配器,以便为我的应用程序创建自定义列表视图。 我制作的适配器: package aaeu.app.presentationlayer; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import
package aaeu.app.presentationlayer;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import aaeu.app.R;
public class AlertOverviewAdapter extends ArrayAdapter {
private final Context context;
private final String[] values;
public AlertOverviewAdapter(Context context, String[] resource) {
super(context,R.layout.test ,resource);
this.context = context;
this.values = resource;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View rowView = inflater.inflate(R.layout.test, parent, false);
TextView textView = (TextView) rowView.findViewById(R.id.label);
ImageView imageView = (ImageView) rowView.findViewById(R.id.icon);
textView.setText(values[position]);
// Do something with the icon....
String s = values[position];
if (s.startsWith("Windows7") || s.startsWith("iPhone")
|| s.startsWith("Solaris")) {
//set Ok icon
} else {
//set Not ok icon
}
return rowView;
}
}
我尝试以以下方式在列表视图中加载适配器:
ArrayAdapter adapter = new AlertOverviewAdapter(this, values);
lv_alert_overview.setAdapter(adapter);
我的价值观:
String[] values = new String[] { "Android", "iPhone", "WindowsMobile",
"Blackberry", "WebOS", "Ubuntu", "Windows7", "Max OS X",
"Linux", "OS/2" };
当我运行应用程序时,我的列表中只显示“Android”,我无法确保所有字符串在listview中都可见。当我完成这一点,我可以修改布局如何我想要的
我想问题出在
int位置
上,但我不知道是什么-有人能帮我吗?将布局文件发布到OK。。。我为此挣扎了2个小时。。。在这篇文章之后,我找到了解决办法。出于一个奇怪的原因,我发现listview不应该出现在scrolview中?这解决了我的问题@米什拉:我已经找到解决办法了,谢谢你!我不知道listview不应该在scrolview中…listview应该始终匹配父级高度,否则它只接受单行项目的高度。几周前我也遇到了这个问题,发现这个ListView已经有了自己的ScrollView,这就是为什么不能在ScrollView中添加ListView。