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。