0

行を動的に作成するテーブルを作成しました。onTouch イベントを作成しようとしています。それがトリガーされた場合は、インテントを使用して別のアクティビティに移動します。私はそれを動作させることができません:

タイプ Intent のメソッド setClass(Context, Class) は、引数 (new View.OnTouchListener(){}, Class) には適用されません。

THIS をクラスの名前に変更しようとしましたが、見つかりません。

ここにコードがあります

                TableRow row = new TableRow(this);
            row.setOnTouchListener(new OnTouchListener() {
                public boolean onTouch(View v, MotionEvent event) {
                    Log.d("TAREA_TOUCH", tarea.getIdtareasr() + " TO");

                    Intent intent = new Intent();
                    intent.setClass(this, EditarTarea.class);
                    intent.putExtra("id", tarea.getIdtareasr() + "");
                    startActivity(intent);

                    return true;
                }

            });
4

2 に答える 2

1
intent.setClass(NameOfYourActivity.this, EditarTarea.class);

または

intent.setClass(NameOfYourActivity.getApplicationContext(), EditarTarea.class);
于 2012-08-23T09:51:31.490 に答える
0
intent.setClass(this, EditarTarea.class);

ここで、「this」は、インターフェース「OnTouchListener」の匿名インスタンスを指します。インテントを作成するには、アクティビティコンテキストを渡す必要があります。

ブラジとアレクシスカルティエが言ったように、使用してください:

intent.setClass(ClassName.this, EditarTarea.class);

ここで、「ClassName」は現在のアクティビティ名を指します。

于 2012-08-23T10:06:09.623 に答える