質問編集履歴
6
onCreateの記述
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
コードの修正
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
追記
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
追記の追記
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
タイトルと説明の改変
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
追記を記述。
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
|
+
なぜなのかわかりません。
|