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

質問編集履歴

1

コールバックを使うようにした

2016/03/28 12:41

投稿

luckyclock
luckyclock

スコア74

title CHANGED
File without changes
body CHANGED
@@ -2,10 +2,18 @@
2
2
  どうやってアクティビティ側にそれを伝えるかやり方がわかりません。
3
3
  アクティビティ側のレイアウトはviewPagerのみがあり、FragmentPagerAdapterに下記のフラグメントはセットされています。
4
4
 
5
+
6
+ 編集
7
+ コールバックを使うようにした
5
8
  ```java
6
9
 
7
10
  public class FragmentTop extends Fragment {
11
+ public interface setOnItemSelectedListener {
12
+ public void spinnerSelected(int item);
13
+ }
8
14
 
15
+ setOnItemSelectedListener listener;
16
+
9
17
  @Override
10
18
  public View onCreateView(LayoutInflater inflater, ViewGroup container,
11
19
  Bundle savedInstanceState) {
@@ -40,6 +48,7 @@
40
48
  public void onItemSelected(AdapterView<?> parent, View view,
41
49
  int position, long id) {
42
50
  Spinner spinner = (Spinner) parent;
51
+ listener.spinnerSelected(spinner.getSelectedItemPosition());
43
52
  }
44
53
 
45
54
  @Override
@@ -52,6 +61,7 @@
52
61
 
53
62
  activity側
54
63
  ```java
64
+ public class MyActivity extends AudioPlayerActivity implements FragmentTop.setOnItemSelectedListener {
55
65
  @Override
56
66
  public void onCreate(Bundle savedInstanceState) {
57
67
  super.onCreate(savedInstanceState);
@@ -63,4 +73,9 @@
63
73
  viewPager.setAdapter(adapter);
64
74
  }
65
75
 
76
+ @Override
77
+ public void spinnerSelected(int item){
78
+ level = item;
79
+ }
80
+ }
66
81
  ```