質問するログイン新規登録

質問編集履歴

2

ご回答をいただいての追記です。

2018/11/28 03:42

投稿

KumaChan
KumaChan

スコア37

title CHANGED
File without changes
body CHANGED
@@ -35,4 +35,23 @@
35
35
  ```
36
36
  RecyclerAdapterのonCreateViewHolderにsetOnClickListenerを置き、onClickでIntentを発行する方法について教えていただけないでしょうか。(上記コードでクリック位置を取得し、ログ表示するところまではうまくいっています。)
37
37
 
38
- それはやはり不可能で、setOnClickListenerをActivity側に記述した方がよいという場合、クリック位置(position)を取得する方法についても教えていただけるとうれしいです。
38
+ それはやはり不可能で、setOnClickListenerをActivity側に記述した方がよいという場合、クリック位置(position)を取得する方法についても教えていただけるとうれしいです。
39
+
40
+ 追記
41
+ いただいた回答をもとにいろいろ試したところ、ふつうにIntentを渡せました。
42
+ putExtraも使えます。コンテキストを取得できればなんとでもなるんですね!
43
+
44
+ ```ここに言語を入力
45
+ public RecyclerViewHolder onCreateViewHolder(@NonNull final ViewGroup viewGroup, int i) {
46
+    ~中略~
47
+ view.setOnClickListener(new View.OnClickListener() {
48
+ @Override
49
+ public void onClick(View view) {
50
+ Context context = view.getContext();
51
+ Intent intent = new Intent(context, ActivityPhotosDetail.class);
52
+ intent.putExtra("name", "あああ");
53
+ context.startActivity(intent);
54
+ }
55
+ });
56
+   }
57
+ ```

1

RecyclerAdapterがRecyclerViewになってました。紛らわしいので修正します。

2018/11/28 03:42

投稿

KumaChan
KumaChan

スコア37

title CHANGED
File without changes
body CHANGED
@@ -1,6 +1,6 @@
1
1
  RecyclerViewをクリック検知してIntentを発行したいのですが、うまくいきません。
2
2
 
3
- RecyclerViewのクリック検知ですが、自分が調べた範囲では「setOnClickListenerはRecyclerViewのonCreateViewHolderに書く」とありました。手元のリファレンス本もその記述だったので正攻法かと思いますが、そうするとRecyclerAdapterをActivityから切り離している場合、Intentの発行ができません。setOnClickListenerをActivity側に書けばよいのかもしれませんが…
3
+ RecyclerViewのクリック検知ですが、自分が調べた範囲では「setOnClickListenerはRecyclerAdapterのonCreateViewHolderに書く」とありました。手元のリファレンス本もその記述だったので正攻法かと思いますが、そうするとRecyclerAdapterをActivityから切り離している場合、Intentの発行ができません。setOnClickListenerをActivity側に書けばよいのかもしれませんが…
4
4
 
5
5
  ```ここに言語を入力
6
6
  public class RecyclerAdapter extends RecyclerView.Adapter<RecyclerAdapter.RecyclerViewHolder> {
@@ -33,6 +33,6 @@
33
33
  }
34
34
 
35
35
  ```
36
- RecyclerViewのonCreateViewHolderにsetOnClickListenerを置き、onClickでIntentを発行する方法について教えていただけないでしょうか。(上記コードでクリック位置を取得し、ログ表示するところまではうまくいっています。)
36
+ RecyclerAdapterのonCreateViewHolderにsetOnClickListenerを置き、onClickでIntentを発行する方法について教えていただけないでしょうか。(上記コードでクリック位置を取得し、ログ表示するところまではうまくいっています。)
37
37
 
38
38
  それはやはり不可能で、setOnClickListenerをActivity側に記述した方がよいという場合、クリック位置(position)を取得する方法についても教えていただけるとうれしいです。