我正在使用ORMLite,我想在列表视图中显示数据,例如,我有一个SMS列表(id、数字、消息),所以当我查询所有数据时,我有我的所有数据,现在我想做一个视图来显示每个数据,所以我找到了如何做列表视图,但我不知道如何在每行上显示数字和消息。。。
public class SMSActivity extends Activity {
ListView lview;
SMSAdapter lviewAdapter;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sms);
DatabaseHandler db = new DatabaseHandler(this);
Dao<SMS, Integer> SMSDao = null;
try {
SMSDao = db.getSMSDao();
final List<SMS> users = SMSDao.queryForAll();
Log.d("list", users.toString());
lview = (ListView) findViewById(R.id.mainListView);
lviewAdapter = new SMSAdapter(this, ?, ?);
System.out.println("adapter => "+lviewAdapter.getCount());
lview.setAdapter(lviewAdapter);
} catch (SQLException e) {
e.printStackTrace();
}
}
}
SMSAdapter:
public class SMSAdapter extends BaseAdapter {
Activity context;
String title[];
String description[];
public SMSAdapter(Activity context, String[] title, String[] description) {
super();
this.context = context;
this.title = title;
this.description = description;
}
public int getCount() {
// TODO Auto-generated method stub
return title.length;
}
public Object getItem(int position) {
// TODO Auto-generated method stub
return null;
}
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
private class ViewHolder {
TextView txtViewTitle;
TextView txtViewDescription;
}
public View getView(int position, View convertView, ViewGroup parent)
{
// TODO Auto-generated method stub
ViewHolder holder;
LayoutInflater inflater = context.getLayoutInflater();
if (convertView == null)
{
convertView = inflater.inflate(R.layout.row_sms, null);
holder = new ViewHolder();
holder.txtViewTitle = (TextView) convertView.findViewById(R.id.firstLine);
holder.txtViewDescription = (TextView) convertView.findViewById(R.id.secondLine);
convertView.setTag(holder);
}
else
{
holder = (ViewHolder) convertView.getTag();
}
holder.txtViewTitle.setText(title[position]);
holder.txtViewDescription.setText(description[position]);
return convertView;
}
}