は、私はそうリストビューのedittextからデータをデータベースに入れるにはどうしたらいいですか?
http://i.stack.imgur.com/j9mxK.png
などの編集テキストフィールドとリストビューを持っており、基本的に私は何をしたいのデータベースに入れることがエディットテキストのビットのためです。 ここまでは私のコードです
カーソルデータ= database.query( "names"、fields、null、null、null、null、 null);
dataSource = new SimpleCursorAdapter(this, R.layout.row, data, fields,
new int[] { R.id.first, R.id.entry2 });
ListView view = getListView();
setListAdapter(dataSource);
editText1 = (EditText) findViewById(R.id.entry2);
editText1.requestFocus();
OnKeyListener myKeyListener = new OnKeyListener() {
@Override
public boolean onKey(View arg0, int KEYCODE_ENTER, KeyEvent arg2) {
Log.v("Me","Something happened :: ");
ContentValues values = new ContentValues();
values.put("last", editText1.getText().toString());
database.insert("names", null, values);
return false;
}
};
editText1.setOnKeyListener(myKeyListener);
}
最後の行でnullポインタ例外が発生する "editText1.setOnKeyListener(myKeyListener);"だから私は実際には、行のレイアウトから編集のテキストを見つけると思います。
私はそれをどのようにしてリストビューの編集テキストに入力し、入力がヒットしたときにそれをデータベースに入れることができますか?
私がやりたいことは基本的には人名を持っていて、隣にある値を入力することができ、その名前でデータベースに入ります。それは実際にはリストビューの行には行かなかったことが分かりました(ヘッダー内でのみ発生しました)。私の質問は、リストビューの行の編集テキストに何かを入力し、Enterキーを押して何かを行う(つまりデータベースに移動する)と、onkeylistenerビットをスキップするように見えるようにする方法です – kennie