如何在android中创建一个显示数据的列表视图?

如何在android中创建一个显示数据的列表视图?,android,Android,我正在做测验申请。在测试结束后的项目中,我需要保留“查看”按钮单击“查看”按钮时,所有出现在测试中的问题必须再次显示,正确答案为一种颜色,错误答案为一种颜色,超时答案为另一种颜色。因此我将所有问题、答案和选定答案保存在一个数组列表中现在在查看页面中,我需要在列表视图中显示问题、选项和解释。因此,我创建了一个列表视图。但它显示空指针异常 霉菌代码: 公共类testreview扩展了活动{ private ListView listViewScore = null; private ListView

我正在做测验申请。在测试结束后的项目中,我需要保留“查看”按钮单击“查看”按钮时,所有出现在测试中的问题必须再次显示,正确答案为一种颜色,错误答案为一种颜色,超时答案为另一种颜色。因此我将所有问题、答案和选定答案保存在一个数组列表中现在在查看页面中,我需要在列表视图中显示问题、选项和解释。因此,我创建了一个列表视图。但它显示空指针异常

霉菌代码:

公共类testreview扩展了活动{

private ListView listViewScore = null;
private ListViewAdapter listViewAdapter = null;
public static ArrayList<ArrayList<String>> ourstringList1 = Select.stringList1;
    private ArrayList<ArrayList<String>> usernameArrLst = ourstringList1;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.list);
    listViewScore=(ListView)findViewById(R.id.list);
    usernameArrLst = new ArrayList<ArrayList<String>>();
    listViewAdapter = new ListViewAdapter();
    listViewScore.setAdapter(listViewAdapter);
}

class ListViewAdapter extends BaseAdapter{

    @Override
    public int getCount() {
        // TODO Auto-generated method stub
        if(usernameArrLst==null){
            return 0;
        }

        return usernameArrLst.size();
    }

    @Override
    public Object getItem(int position) {
        // TODO Auto-generated method stub
        return usernameArrLst.get(position);
    }

    @Override
    public long getItemId(int position) {
        // TODO Auto-generated method stub
        return position;
    }

    @Override
    public View getView(int position, View view, ViewGroup parent) {
        // TODO Auto-generated method stub
        View rowView=view;
        if(rowView==null){
            LayoutInflater layoutinflate =LayoutInflater.from(testreview.this);
            rowView=layoutinflate.inflate(R.layout.listrow, parent, false);
        }

        TextView textViewName=(TextView)rowView.findViewById(R.id.tv_case);
        textViewName.setText((CharSequence) usernameArrLst.get(position));

        return rowView;
    }

}
private ListView listViewScore=null;
私有ListViewAdapter ListViewAdapter=null;
public static ArrayList ourstringList1=Select.stringList1;
private ArrayList usernamearlst=ourstringList1;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.list);
listViewScore=(ListView)findViewById(R.id.list);
usernamearlst=newarraylist();
listViewAdapter=新建listViewAdapter();
setAdapter(listViewAdapter);
}
类ListViewAdapter扩展了BaseAdapter{
@凌驾
public int getCount(){
//TODO自动生成的方法存根
if(usernamearlst==null){
返回0;
}
返回usernamearlst.size();
}
@凌驾
公共对象getItem(int位置){
//TODO自动生成的方法存根
返回usernamearlst.get(位置);
}
@凌驾
公共长getItemId(int位置){
//TODO自动生成的方法存根
返回位置;
}
@凌驾
公共视图getView(内部位置、视图视图、视图组父视图){
//TODO自动生成的方法存根
视图行视图=视图;
if(rowView==null){
LayoutInflater layoutinflate=LayoutInflater.from(testreview.this);
rowView=LayoutFlate.inflate(R.layout.listrow,父项,false);
}
TextView textViewName=(TextView)rowView.findViewById(R.id.tv_case);
textViewName.setText((CharSequence)usernamearlst.get(position));
返回行视图;
}
}

}

在通过simply.size()方法提供给列表适配器之前,请检查数组大小,并尝试在日志中打印它。我不确定,Select是另一个在StringList1 ArrayList()中存储值的类,然后也尝试打印它

你从哪里得到空指针异常?我在listViewScore.setAdapter(listViewAdapter)得到空指针异常;请发布例外情况。另外,检查listViewScore.setAdapter(listViewAdapter);,之前的listViewScore是否为null;。您好,谢谢您的回复…我需要一些小的澄清…我需要在一个页面中显示4个带选项的问题…所以我可以只保留textview来显示审阅页面,还是保留listview而不是textview?这里是否需要listview?我认为最好使用定制的listview以适当的方式显示问题和选项。