2016-06-25 4 views
0

リストから項目を削除するには、自分のarrayadapter内のデータベースにアクセスしようとしています。しかし、コードはopenOrCreateDatabaseメソッドまたはシンボルMODE_PRIVATEを解決することはできません。arrayadapterでopenOrCreateDatabaseを取得するには

私のコード:

public class workoutListViewAdapter extends ArrayAdapter<String> { 

public workoutListViewAdapter(Context context, ArrayList<String> values) { 
    super(context, R.layout.workout_row_layout, values); 
} 

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 

    final LayoutInflater theInflater = LayoutInflater.from(getContext()); 

    final View theView = theInflater.inflate(R.layout.workout_row_layout, 
      parent, false); 

    //Handle buttons and add onClickListeners 
    ImageButton deleteButton = (ImageButton)theView.findViewById(R.id.delete_button); 

    deleteButton.setOnClickListener(new View.OnClickListener(){ 
     @Override 
     public void onClick(View v) { 
      removeWorkout(id); 
      notifyDataSetChanged(); 
     } 
    }); 


    return theView; 
} 

private void removeWorkout(int id) { 
    SQLiteDatabase workoutDB = this.openOrCreateDatabase("Database.sqlite", MODE_PRIVATE, null); 

    workoutDB.execSQL("DELETE FROM table WHERE id = " + id + ";"); 

} 

答えて

1

アクティビティのコンテキストを使用する必要がありますMODE_PRIVATEopenOrCreateDatabaseにアクセスします。

+0

私は自分の方法でそれにアクセスしますか? – Mischa

+0

SQLiteDatabase workoutDB = context.openOrCreateDatabase( "Database.sqlite"、context.MODE_PRIVATE、null); –

+0

私は得る:記号の文脈を解決できない。 – Mischa

関連する問題