質問編集履歴
2
ご回答をいただいての追記です。
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になってました。紛らわしいので修正します。
title
CHANGED
|
File without changes
|
body
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
RecyclerViewをクリック検知してIntentを発行したいのですが、うまくいきません。
|
|
2
2
|
|
|
3
|
-
RecyclerViewのクリック検知ですが、自分が調べた範囲では「setOnClickListenerは
|
|
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
|
-
|
|
36
|
+
RecyclerAdapterのonCreateViewHolderにsetOnClickListenerを置き、onClickでIntentを発行する方法について教えていただけないでしょうか。(上記コードでクリック位置を取得し、ログ表示するところまではうまくいっています。)
|
|
37
37
|
|
|
38
38
|
それはやはり不可能で、setOnClickListenerをActivity側に記述した方がよいという場合、クリック位置(position)を取得する方法についても教えていただけるとうれしいです。
|