列表视图在android中不显示?

时间:2012-03-09 15:07:14

标签: android sqlite android-listview

我正在尝试从SQLite获取数据到列表视图,但我的列表视图不显示
任何东西。我不明白问题,因为logcat没有错误 请给我提示或建议 这是我的示例代码..

protected void onCreate(Bundle savedInstanceState) {


    super.onCreate(savedInstanceState);
    //setContentView(R.layout.locprofile);
    ArrayAdapter<Model> adapter = new InteractiveArrayAdapter(this,
            getModel());
    setListAdapter(adapter);}

private void setListAdapter(ArrayAdapter<Model> adapter) {
    // TODO Auto-generated method stub

}

private List<Model> getModel()
{
    List<Model> list = new ArrayList<Model>();
    final MySQLiteHelper m=new MySQLiteHelper(getBaseContext());
    final List<LocWiseProfileBeans> LocWiseProfile= m.getAllLocWiseProfile();       

    for (final LocWiseProfileBeans cn : LocWiseProfile) {



    list.add(get(cn.getLocname()));
    list.add(get(cn.getSelectedprofile()));

    // Initially select one of the items
    list.get(1).setSelected(true);

    }
    return list;
}

private Model get(String s) {
    return new Model(s);
}

InteractiveArrayAdapter.java

public class InteractiveArrayAdapter extends ArrayAdapter<Model> {

private final List<Model> list;
private final Activity context;

public InteractiveArrayAdapter(Activity context, List<Model> list) 
{
    super(context, R.layout.locprofile, list);
    this.context = context;
    this.list = list;
}

static class ViewHolder {
    protected TextView text;
    protected CheckBox checkbox;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {

    View view = null;

    if (convertView == null) {


        LayoutInflater inflator = context.getLayoutInflater();
        view = inflator.inflate(R.layout.locprofile, null);

        final ViewHolder viewHolder = new ViewHolder();

        viewHolder.text = (TextView) view.findViewById(R.id.label);
        viewHolder.checkbox = (CheckBox) view.findViewById(R.id.check);
        viewHolder.checkbox
                .setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

                    @Override
                    public void onCheckedChanged(CompoundButton buttonView,
                            boolean isChecked) {
                        Model element = (Model) viewHolder.checkbox
                                .getTag();
                        element.setSelected(buttonView.isChecked());

                    }
                });
        view.setTag(viewHolder);
        viewHolder.checkbox.setTag(list.get(position));

    } else {

        view = convertView;
        ((ViewHolder) view.getTag()).checkbox.setTag(list.get(position));

    }

    ViewHolder holder = (ViewHolder) view.getTag();
    holder.text.setText(list.get(position).getName());
    holder.checkbox.setChecked(list.get(position).isSelected());


    return view;
}

}

1 个答案:

答案 0 :(得分:4)

删除:

private void setListAdapter(ArrayAdapter<Model> adapter) {
    // TODO Auto-generated method stub

}

再试一次。