我有这样的问题:

这是我的源代码:
public class Home extends AppCompatActivity {
JualBarangDBHelper dbcenter;
protected Cursor cursor;
String[] daftar;
ListView list;
public static Home hom;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
dbcenter = new JualBarangDBHelper(this);
hom = this;
RefreshList();
}
public void RefreshList() {
SQLiteDatabase db = dbcenter.getReadableDatabase();
cursor = db.rawQuery("SELECT * FROM jualbarang", null);
daftar = new String[cursor.getCount()];
cursor.moveToFirst();
for (int cc = 0; cc < cursor.getCount(); cc++) {
cursor.moveToPosition(cc);
daftar[cc] = cursor.getString(0).toString();
}
list = (ListView) findViewById(R.id.listView1);
list.setAdapter(new ArrayAdapter(this, android.R.layout.simple_list_item_1, daftar));
list.setSelected(true);
list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView arg0, View arg1, int arg2, long arg3) {
final String selection = daftar[arg2]; //.getItemAtPosition(arg2).toString();
Intent i = new Intent(getApplicationContext(), Detail.class);
i.putExtra("no", selection);
startActivity(i);
}
});
((ArrayAdapter) list.getAdapter()).notifyDataSetInvalidated();
}
}我该怎么办?
发布于 2016-06-06 19:38:18
首先,如果cursor.getCount()大于零,则必须检查它,然后执行
while(cursor.movetoFirst())
{
//Your code
}https://stackoverflow.com/questions/37662017
复制相似问题