回答編集履歴

2

startActivityの対象としてもcontextを使用する必要がありました。

2016/08/18 14:48

投稿

swordone
swordone

スコア20651

test CHANGED
@@ -28,7 +28,7 @@
28
28
 
29
29
  intent.putExtra(BOR,bor);
30
30
 
31
- startActivity(intent);
31
+ context.startActivity(intent);
32
32
 
33
33
  }
34
34
 

1

コメントで説明しづらいので追記

2016/08/18 14:48

投稿

swordone
swordone

スコア20651

test CHANGED
@@ -1 +1,67 @@
1
1
  いきなりこんなわけわからんコードを書くくらいなら、入門レベルの本を読んでサンプルコードを読むなり書くなりするべきです。それくらいトンチンカンなことをしていますよ。
2
+
3
+
4
+
5
+ ---
6
+
7
+
8
+
9
+ 別クラスに分けるというのであれば、次のような形になるかと。
10
+
11
+ ```java
12
+
13
+ public class A { //Activityの継承は不要、むしろいらぬトラブルの原因
14
+
15
+
16
+
17
+ public final static String BOR = "com.example..name.BOR";
18
+
19
+
20
+
21
+ }
22
+
23
+ public void get_i1 (Context context){ //引数としてContextを準備(Intentに渡すためのもの)
24
+
25
+ double bor = 19.2;
26
+
27
+ Intent intent = new Intent(context,Input.class);
28
+
29
+ intent.putExtra(BOR,bor);
30
+
31
+ startActivity(intent);
32
+
33
+ }
34
+
35
+ }
36
+
37
+ ```
38
+
39
+ ```java
40
+
41
+ public class I extends AppCompatActivity {
42
+
43
+
44
+
45
+ public A a = new A();
46
+
47
+
48
+
49
+ @Override
50
+
51
+ protected void onCreate(Bundle savedInstanceState) {
52
+
53
+ super.onCreate(savedInstanceState);
54
+
55
+ setContentView(com.example.sample.name.R.layout.activity_i);
56
+
57
+ }
58
+
59
+ public void get_i1 (View view){
60
+
61
+ a.get_i1(getApplicationContext()); //get_i1にContextを渡して起動
62
+
63
+ }
64
+
65
+ }
66
+
67
+ ```