name と ph の 2 つのフィールドを送信するアプリケーションを作成しました。番号。sqlite データベースに。すべての準備が整ってデータベースに保存されている edittext に名前を入力すると、その edittext に触れると、その名前の電話レコードが次の edtetext に入力されます。電話のeditTextでonTouchListenerを使用しました。しかし、このコードを実行すると。nullポインター例外エラーが発生します。間違ったコードを使用している場所がわかりません...もしあれば、解決策を教えてください
活動クラスのコード......
phoneeditText.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
if(event.getAction()==MotionEvent.ACTION_UP){
Cursor c=help.getall();
List<String>data=new ArrayList<String>();
while(c.moveToNext()){
data.add(c.getString(c.getColumnIndex("name")));
}
String fname=name.getText().toString();
if(data.contains(fname)){
help=new MyHelper(getApplicationContext());
Cursor c2=help.getall();
while(c2.moveToNext()){
phoneeditText.setText(c2.getString(c2.getColumnIndex("phone")));
}
}
//help.update(myname, call, myarea);
//Toast.makeText(getApplicationContext(), myname+"already saved..it's updating", Toast.LENGTH_SHORT).show();
return true;
}
return false;
}
});
SQLiteOpenHelper クラスのコード
public Cursor getall(){
sd=this.getWritableDatabase();
Cursor c=sd.query("location", null, null, null, null, null, null);
return c;
logcat からのメッセージ
07-30 03:27:48.567: E/AndroidRuntime(376): java.lang.NullPointerException
07-30 03:27:48.567: E/AndroidRuntime(376): at com.kuldeep.localsave.Act1$1.onTouch(Act1.java:145)
07-30 03:27:48.567: E/AndroidRuntime(376): at android.view.View.dispatchTouchEvent(View.java:3881)
07-30 03:27:48.567: E/AndroidRuntime(376): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:942)