0

指定した行を削除する削除ボタンをユーザーが選択したときにポップアップするダイアログ ボックスを追加しようとしています。ただし、プログラムをコンパイルするための適切な構文を取得できないようです。エラーはこの行で発生します。

MODULEDATABASE.deleteRow(rowId);
Intent intent = new Intent(this, MyCourses.class);

どんな提案でも大歓迎です。

public class ViewCourse extends Activity implements OnClickListener{
Cursor cursor;
database MODULEDATABASE;
String rowId;
Button deleteModule;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_view_course);

        Intent intent = getIntent();
        rowId = intent.getStringExtra(MyCourses.TEST);
        MODULEDATABASE = new database(ViewCourse.this);
        MODULEDATABASE.openToRead(ViewCourse.this);
        cursor = MODULEDATABASE.getRow(rowId);

        TextView text_modulecode = (TextView)findViewById(R.id.viewModuleCode);
        TextView text_modulename = (TextView)findViewById(R.id.viewModuleName);

        text_modulecode.setText(cursor.getString(cursor.getColumnIndex(database.KEY_MODULECODE)));
        text_modulename.setText(cursor.getString(cursor.getColumnIndex(database.KEY_MODULENAME)));


        deleteModule = (Button)findViewById(R.id.deleteButton);
        deleteModule.setOnClickListener(this);
    }

    public void onClick (View deleteModule) 
    {
         Dialog(rowId);


    }

    public void Dialog (String rowId) {
        // Use the Builder class for convenient dialog construction
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setMessage(R.string.confirmDelete)
               .setPositiveButton(R.string.confirmDelete, new DialogInterface.OnClickListener() {
                   public void onClick(DialogInterface dialog, int id) {
                     MODULEDATABASE = new database(ViewCourse.this);
                     MODULEDATABASE.deleteRow(rowId);
                     Intent intent = new Intent(this, MyCourses.class);
                     startActivity(intent);

                   }
               })
               .setNegativeButton(R.string.confirmDelete, new DialogInterface.OnClickListener() {
                   public void onClick(DialogInterface dialog, int id) {

                   }
               });
    }


}
4

1 に答える 1

1

エラーが何であるかはわかりませんが、次の行を変更する必要があると思います。

Intent intent = new Intent(this, MyCourses.class);

に:

Intent intent = new Intent(ViewCourse.this, MyCourses.class);

(問題は、コードのその時点でthis、匿名OnClickListenerクラスを参照していることです。)

編集rowId-メソッドのパラメータを次のように宣言しますfinal

public void Dialog (final String rowId) {
    . . .
于 2012-11-04T16:20:55.873 に答える