データベースからのデータを表示するために、Android でリスト アダプターをクリックすると、範囲外の例外が発生します。
これは、ボタンをクリックしたときに実行されるコードです。
@Override
public void onCreate(Bundle contactsState) {
super.onCreate(contactsState);
// Set the layout for this activity
setContentView(R.layout.contacts);
final Intent openInfo = new Intent(this,contactInfo.class);
final database info = new database(this);
info.open();
getData = info.getData();
getData.moveToFirst();
ListAdapter Cview = new SimpleCursorAdapter(this,
R.layout.row,
getData,
new String[]{info.KEY_CONTACT, info.KEY_PHONE},
new int[]{R.id.RowText});
setListAdapter(Cview);
ListView Vct;
Vct = getListView();
Vct.setClickable(true);
Vct.setOnItemClickListener(new OnItemClickListener(){
public void onItemClick(AdapterView<?> a,View v,int position,long id){
Click = (Cursor) a.getItemAtPosition(position);
getId = Click.getLong(1);
info.open();
String Pdata = info.getRows(getId);
openInfo.putExtra("data",Pdata);
info.close();
//Start the Activity
startActivity(openInfo);
}
});
info.close();
}
これは、このコードの一部を管理するデータベースの一部です。
public Cursor getData() {
// TODO Auto-generated method stub
String[] columns = new String[]{ KEY_ROWID, KEY_CONTACT, KEY_PHONE, KEY_DAYS};
Cursor c = ourDatabase.query(DATABASE_TABLE, columns, null, null, null, null, null);
return c;
}
public String getRows(long id) {
// TODO Auto-generated method stub
String[] columns = new String[]{KEY_ROWID,KEY_CONTACT,KEY_PHONE,KEY_DAYS};
Cursor c = ourDatabase.query(DATABASE_TABLE, columns, KEY_ROWID + "=" + id, null, null, null, null);
String value = c.getString(1) + "\n" + c.getString(2) + "\n" + c.getString(3);
return value;
}
これは私が得ているエラーです:
http://paste.ubuntu.com/1000856/
これが行うことになっているのは、データベースからのデータが含まれているリストビューの名前をクリックすると、変数が渡された新しいアクティビティが開き、その変数はアクティビティの情報を表示することです。名前。
Thanks in Advance