質問編集履歴

6

onCreateの記述

2017/04/20 03:11

投稿

ko20vonobird
ko20vonobird

スコア50

test CHANGED
File without changes
test CHANGED
@@ -203,3 +203,71 @@
203
203
  なぜなのかわかりません。
204
204
 
205
205
  ・追記:抜けていたxmlファイルのidの記述を追加しました。
206
+
207
+ ・追記:onCreateの部分を記述します。
208
+
209
+ ```java
210
+
211
+ @Override
212
+
213
+ protected void onCreate(Bundle savedInstanceState) {
214
+
215
+ super.onCreate(savedInstanceState);
216
+
217
+ Intent i4 = getIntent();
218
+
219
+ LR = i4.getStringExtra("LR");
220
+
221
+ setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
222
+
223
+ //setContentView(R.layout.activity_main);
224
+
225
+ //ステータスバー非表示
226
+
227
+ getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
228
+
229
+ //タイトルバー非表示
230
+
231
+ requestWindowFeature(Window.FEATURE_NO_TITLE);
232
+
233
+ setNavigationbarHide(this, true);
234
+
235
+
236
+
237
+ LayoutInflater factory = LayoutInflater.from(this);
238
+
239
+ View view = factory.inflate(R.layout.activity_game, null);
240
+
241
+ setContentView(view);
242
+
243
+
244
+
245
+ Random rnd = new Random();
246
+
247
+ WindowManager wm = (WindowManager)getSystemService(WINDOW_SERVICE);
248
+
249
+ Display dp = wm.getDefaultDisplay();
250
+
251
+ Point po = new Point();
252
+
253
+ dp.getSize(po);
254
+
255
+ winW = po.x;
256
+
257
+ winH = po.y;
258
+
259
+ perpower = 20;
260
+
261
+ spower = rnd.nextInt(perpower);
262
+
263
+ forspower = (int)(1000 * (1 / spower));
264
+
265
+ rpower = winW - ((winW * 0.05) + (winW * spower));//右(利き)基準
266
+
267
+ lpower = (winW * 0.25) - (winW * spower);//左(利き)基準
268
+
269
+ stamina = 10 + rnd.nextInt(30);//時間耐久度
270
+
271
+ }
272
+
273
+ ```

5

コードの修正

2017/04/20 03:11

投稿

ko20vonobird
ko20vonobird

スコア50

test CHANGED
File without changes
test CHANGED
@@ -18,6 +18,8 @@
18
18
 
19
19
  xmlns:app="http://schemas.android.com/apk/res-auto"
20
20
 
21
+ android:id="@+id/pfl"
22
+
21
23
  android:layout_width="match_parent"
22
24
 
23
25
  android:layout_height="match_parent"
@@ -199,3 +201,5 @@
199
201
  ```
200
202
 
201
203
  なぜなのかわかりません。
204
+
205
+ ・追記:抜けていたxmlファイルのidの記述を追加しました。

4

追記

2017/04/19 14:45

投稿

ko20vonobird
ko20vonobird

スコア50

test CHANGED
File without changes
test CHANGED
@@ -166,7 +166,7 @@
166
166
 
167
167
  調べた中で、階層を成しているViewは上層のものをinvalidate();しないという記事を発見しました。なので、以下の記述を操作するメインのjavaファイルに加えました。
168
168
 
169
- **※記述した場所は色々なメソッドを書いている部分です**
169
+ **※記述した場所は色々なメソッドを書いている部分の一部です**
170
170
 
171
171
  ```java
172
172
 

3

追記の追記

2017/04/19 13:27

投稿

ko20vonobird
ko20vonobird

スコア50

test CHANGED
File without changes
test CHANGED
@@ -166,14 +166,28 @@
166
166
 
167
167
  調べた中で、階層を成しているViewは上層のものをinvalidate();しないという記事を発見しました。なので、以下の記述を操作するメインのjavaファイルに加えました。
168
168
 
169
+ **※記述した場所は色々なメソッドを書いている部分です**
170
+
169
171
  ```java
170
172
 
173
+ @Override
174
+
175
+ public boolean onTouchEvent(Motion event){
176
+
177
+ }
178
+
179
+ ---省略(様々なメソッド)
180
+
181
+ public void activechange(){
182
+
171
183
  PercentFrameLayout percentFrameLayout;
172
184
 
173
185
  percentFrameLayout = (PercentFrameLayout)findViewById(R.id.pfl);
174
186
 
175
187
  percentFrameLayout.invalidate();
176
188
 
189
+ }
190
+
177
191
  ```
178
192
 
179
193
  しかし、以下のエラーが出ました。

2

タイトルと説明の改変

2017/04/19 13:15

投稿

ko20vonobird
ko20vonobird

スコア50

test CHANGED
@@ -1 +1 @@
1
- invalidate();で再描画されません
1
+ invalidate();で再描画されず、調べるとそれ自体が効いていないです
test CHANGED
@@ -1,6 +1,6 @@
1
1
  ###発生している問題
2
2
 
3
- invalidate();でonDraw();が再描画されないです
3
+ invalidate();でonDraw();が再描画されなく、ログ出力で調べたところinvalidate();が効ていないことが判明しました
4
4
 
5
5
 
6
6
 

1

追記を記述。

2017/04/19 12:00

投稿

ko20vonobird
ko20vonobird

スコア50

test CHANGED
File without changes
test CHANGED
@@ -159,3 +159,29 @@
159
159
 
160
160
 
161
161
  説明が長くなりましたが対処方法を教えてください、お願いします。
162
+
163
+
164
+
165
+ ###追記
166
+
167
+ 調べた中で、階層を成しているViewは上層のものをinvalidate();しないという記事を発見しました。なので、以下の記述を操作するメインのjavaファイルに加えました。
168
+
169
+ ```java
170
+
171
+ PercentFrameLayout percentFrameLayout;
172
+
173
+ percentFrameLayout = (PercentFrameLayout)findViewById(R.id.pfl);
174
+
175
+ percentFrameLayout.invalidate();
176
+
177
+ ```
178
+
179
+ しかし、以下のエラーが出ました。
180
+
181
+ ```
182
+
183
+ java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.View android.view.Window.findViewById(int)' on a null object reference
184
+
185
+ ```
186
+
187
+ なぜなのかわかりません。