質問編集履歴

2

意図的に内容を抹消する行為にあたるため

2021/06/29 05:18

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- 質問削除することにしまし
1
+ AndroidStudio ボタンでWebviewの表示切り替え
test CHANGED
@@ -1 +1,285 @@
1
- 知識ある人が知識ない人に勉強ろっていうなら、このサイト意味ないです
1
+ Android Studio でAndroidアプリ開発をしている初心者です
2
+
3
+ ボタンを押すとWebViewに表示されているサイトが切り替わる実装を試みています。
4
+
5
+ 空白のWebViewを配置してボタンを押すとサイトが表示されるという実装はできました。
6
+
7
+ 次に、ボタンを複数配置して表示サイトを切り替えたいと思ったのですが、一度ボタンを押すとそれ以降のボタン操作は無効になってしまいます。
8
+
9
+ ほぼコピペのみで、進めてるので、記述が間違っていると思うのですが、どこを修正したら良いか分からず、質問させて頂きました。
10
+
11
+ 現在、起動と同時にサイトを表示させて、ボタンを押すと別ページが開くという状態にしています。
12
+
13
+ 2つ配置したボタンは、両方とも動きません。
14
+
15
+ 起動と同時にサイトを表示させなければ、ボタン1回は動く状態です。
16
+
17
+ webviewの更新方法が間違ってるような気がするのですが、どうしたら良いか御指南よろしくお願い致します。
18
+
19
+ **MainActivity**
20
+
21
+ ```
22
+
23
+ package com.example.testapp002;
24
+
25
+ import androidx.appcompat.app.AppCompatActivity;
26
+
27
+ import android.os.Bundle;
28
+
29
+ import android.content.Intent;
30
+
31
+ import android.net.Uri;
32
+
33
+ import android.view.KeyEvent;
34
+
35
+ import android.view.View;
36
+
37
+ import android.view.WindowManager;
38
+
39
+ import android.webkit.WebView;
40
+
41
+ import android.webkit.WebViewClient;
42
+
43
+ import android.widget.Button;
44
+
45
+ import android.widget.ImageButton;
46
+
47
+ public class MainActivity extends AppCompatActivity {
48
+
49
+ private WebView webView;
50
+
51
+ private String accessUrl1 = "https://www.yahoo.co.jp/";
52
+
53
+ private String accessUrl2 = "https://www.amazon.co.jp/";
54
+
55
+ private String accessUrl3 = "https://www.apple.com/jp/";
56
+
57
+ @Override
58
+
59
+ protected void onCreate(Bundle savedInstanceState) {
60
+
61
+ super.onCreate(savedInstanceState);
62
+
63
+ setContentView(R.layout.activity_main);
64
+
65
+ ImageButton button1 = findViewById(R.id.imageButton_1);
66
+
67
+ ImageButton button2 = findViewById(R.id.imageButton_2);
68
+
69
+ //立ち上がりと同時にサイト表示
70
+
71
+ setContentView(R.layout.activity_main);
72
+
73
+ webView = findViewById(R.id.web_view);
74
+
75
+ //webView内でクリックしても標準ブラウザを立ち上げない
76
+
77
+ webView.setWebViewClient(new WebViewClient(){
78
+
79
+ @Override
80
+
81
+ public boolean shouldOverrideUrlLoading(WebView view, String url) {
82
+
83
+ return false;
84
+
85
+ }
86
+
87
+ });
88
+
89
+ // JavaScriptを有効化
90
+
91
+ webView.getSettings().setJavaScriptEnabled(true);
92
+
93
+ // Web Storage を有効化
94
+
95
+ webView.getSettings().setDomStorageEnabled(true);
96
+
97
+ // Hardware Acceleration ON
98
+
99
+ getWindow().setFlags(
100
+
101
+ WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,
102
+
103
+ WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);
104
+
105
+ webView.loadUrl(accessUrl1);
106
+
107
+ //ボタン1
108
+
109
+ button1.setOnClickListener(new View.OnClickListener() {
110
+
111
+ @Override
112
+
113
+ public void onClick(View v) {
114
+
115
+ setContentView(R.layout.activity_main);
116
+
117
+ webView = findViewById(R.id.web_view);
118
+
119
+ //webView内でクリックしても標準ブラウザを立ち上げない
120
+
121
+ webView.setWebViewClient(new WebViewClient(){
122
+
123
+ @Override
124
+
125
+ public boolean shouldOverrideUrlLoading(WebView view, String url) {
126
+
127
+ return false;
128
+
129
+ }
130
+
131
+ });
132
+
133
+ // JavaScriptを有効化
134
+
135
+ webView.getSettings().setJavaScriptEnabled(true);
136
+
137
+ // Web Storage を有効化
138
+
139
+ webView.getSettings().setDomStorageEnabled(true);
140
+
141
+ // Hardware Acceleration ON
142
+
143
+ getWindow().setFlags(
144
+
145
+ WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,
146
+
147
+ WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);
148
+
149
+ webView.loadUrl(accessUrl2);
150
+
151
+ }
152
+
153
+ });
154
+
155
+ //ボタン2
156
+
157
+ button2.setOnClickListener(new View.OnClickListener() {
158
+
159
+ @Override
160
+
161
+ public void onClick(View v) {
162
+
163
+ setContentView(R.layout.activity_main);
164
+
165
+ webView = findViewById(R.id.web_view);
166
+
167
+ //webView内でクリックしても標準ブラウザを立ち上げない
168
+
169
+ webView.setWebViewClient(new WebViewClient(){
170
+
171
+ @Override
172
+
173
+ public boolean shouldOverrideUrlLoading(WebView view, String url) {
174
+
175
+ return false;
176
+
177
+ }
178
+
179
+ });
180
+
181
+ // JavaScriptを有効化
182
+
183
+ webView.getSettings().setJavaScriptEnabled(true);
184
+
185
+ // Web Storage を有効化
186
+
187
+ webView.getSettings().setDomStorageEnabled(true);
188
+
189
+ // Hardware Acceleration ON
190
+
191
+ getWindow().setFlags(
192
+
193
+ WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,
194
+
195
+ WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);
196
+
197
+ webView.loadUrl(accessUrl3);
198
+
199
+ //webView.reload();
200
+
201
+ }
202
+
203
+ });
204
+
205
+ }
206
+
207
+ ```
208
+
209
+ **activity_main.xml**
210
+
211
+ ```
212
+
213
+ <?xml version="1.0" encoding="utf-8"?>
214
+
215
+ <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
216
+
217
+ xmlns:app="http://schemas.android.com/apk/res-auto"
218
+
219
+ xmlns:tools="http://schemas.android.com/tools"
220
+
221
+ android:layout_width="match_parent"
222
+
223
+ android:layout_height="match_parent"
224
+
225
+ android:background="#dfe"
226
+
227
+ tools:context=".MainActivity">
228
+
229
+ <WebView
230
+
231
+ android:id="@+id/web_view"
232
+
233
+ android:layout_width="match_parent"
234
+
235
+ android:layout_height="662dp"
236
+
237
+ android:layout_alignParentTop="true"
238
+
239
+ android:layout_marginTop="0dp"
240
+
241
+ tools:layout_editor_absoluteX="0dp"
242
+
243
+ tools:layout_editor_absoluteY="-5dp"></WebView>
244
+
245
+ <ImageButton
246
+
247
+ android:id="@+id/imageButton_1"
248
+
249
+ android:layout_width="80dp"
250
+
251
+ android:layout_height="77dp"
252
+
253
+ android:layout_below="@+id/web_view"
254
+
255
+ android:layout_marginTop="0dp"
256
+
257
+ app:layout_constraintBottom_toBottomOf="parent"
258
+
259
+ app:srcCompat="@drawable/btn_a"
260
+
261
+ tools:layout_editor_absoluteX="0dp" />
262
+
263
+ <ImageButton
264
+
265
+ android:id="@+id/imageButton_2"
266
+
267
+ android:layout_width="80dp"
268
+
269
+ android:layout_height="77dp"
270
+
271
+ android:layout_below="@+id/web_view"
272
+
273
+ android:layout_marginStart="0dp"
274
+
275
+ android:layout_marginTop="0dp"
276
+
277
+ android:layout_toEndOf="@+id/imageButton_1"
278
+
279
+ app:srcCompat="@drawable/btn_b" />
280
+
281
+ </RelativeLayout>
282
+
283
+ ```
284
+
285
+ ![イメージ説明](15b5d16c36b271ab52aed50f1c2f1e14.png)

1

質問削除します

2021/06/29 05:17

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- AndroidStudio ボタンでWebviewの表示切り替え
1
+ 質問削除することにしまし
test CHANGED
@@ -1,381 +1 @@
1
- Android Studio でAndroidアプリ開発をしている初心者です
1
+ 知識ある人が知識ない人に勉強ろっていうなら、このサイト意味ないです
2
-
3
-
4
-
5
-
6
-
7
- ボタンを押すとWebViewに表示されているサイトが切り替わる実装を試みています。
8
-
9
-
10
-
11
- 空白のWebViewを配置してボタンを押すとサイトが表示されるという実装はできました。
12
-
13
- 次に、ボタンを複数配置して表示サイトを切り替えたいと思ったのですが、一度ボタンを押すとそれ以降のボタン操作は無効になってしまいます。
14
-
15
-
16
-
17
- ほぼコピペのみで、進めてるので、記述が間違っていると思うのですが、どこを修正したら良いか分からず、質問させて頂きました。
18
-
19
-
20
-
21
- 現在、起動と同時にサイトを表示させて、ボタンを押すと別ページが開くという状態にしています。
22
-
23
- 2つ配置したボタンは、両方とも動きません。
24
-
25
-
26
-
27
- 起動と同時にサイトを表示させなければ、ボタン1回は動く状態です。
28
-
29
- webviewの更新方法が間違ってるような気がするのですが、どうしたら良いか御指南よろしくお願い致します。
30
-
31
-
32
-
33
-
34
-
35
-
36
-
37
- **MainActivity**
38
-
39
- ```
40
-
41
- package com.example.testapp002;
42
-
43
-
44
-
45
- import androidx.appcompat.app.AppCompatActivity;
46
-
47
- import android.os.Bundle;
48
-
49
- import android.content.Intent;
50
-
51
- import android.net.Uri;
52
-
53
- import android.view.KeyEvent;
54
-
55
- import android.view.View;
56
-
57
- import android.view.WindowManager;
58
-
59
- import android.webkit.WebView;
60
-
61
- import android.webkit.WebViewClient;
62
-
63
- import android.widget.Button;
64
-
65
- import android.widget.ImageButton;
66
-
67
-
68
-
69
- public class MainActivity extends AppCompatActivity {
70
-
71
-
72
-
73
-
74
-
75
- private WebView webView;
76
-
77
- private String accessUrl1 = "https://www.yahoo.co.jp/";
78
-
79
- private String accessUrl2 = "https://www.amazon.co.jp/";
80
-
81
- private String accessUrl3 = "https://www.apple.com/jp/";
82
-
83
-
84
-
85
- @Override
86
-
87
- protected void onCreate(Bundle savedInstanceState) {
88
-
89
- super.onCreate(savedInstanceState);
90
-
91
- setContentView(R.layout.activity_main);
92
-
93
-
94
-
95
- ImageButton button1 = findViewById(R.id.imageButton_1);
96
-
97
- ImageButton button2 = findViewById(R.id.imageButton_2);
98
-
99
-
100
-
101
- //立ち上がりと同時にサイト表示
102
-
103
- setContentView(R.layout.activity_main);
104
-
105
- webView = findViewById(R.id.web_view);
106
-
107
-
108
-
109
- //webView内でクリックしても標準ブラウザを立ち上げない
110
-
111
- webView.setWebViewClient(new WebViewClient(){
112
-
113
- @Override
114
-
115
- public boolean shouldOverrideUrlLoading(WebView view, String url) {
116
-
117
- return false;
118
-
119
- }
120
-
121
- });
122
-
123
-
124
-
125
- // JavaScriptを有効化
126
-
127
- webView.getSettings().setJavaScriptEnabled(true);
128
-
129
-
130
-
131
- // Web Storage を有効化
132
-
133
- webView.getSettings().setDomStorageEnabled(true);
134
-
135
-
136
-
137
- // Hardware Acceleration ON
138
-
139
- getWindow().setFlags(
140
-
141
- WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,
142
-
143
- WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);
144
-
145
-
146
-
147
- webView.loadUrl(accessUrl1);
148
-
149
-
150
-
151
- //ボタン1
152
-
153
- button1.setOnClickListener(new View.OnClickListener() {
154
-
155
- @Override
156
-
157
- public void onClick(View v) {
158
-
159
-
160
-
161
- setContentView(R.layout.activity_main);
162
-
163
- webView = findViewById(R.id.web_view);
164
-
165
-
166
-
167
- //webView内でクリックしても標準ブラウザを立ち上げない
168
-
169
- webView.setWebViewClient(new WebViewClient(){
170
-
171
- @Override
172
-
173
- public boolean shouldOverrideUrlLoading(WebView view, String url) {
174
-
175
- return false;
176
-
177
- }
178
-
179
- });
180
-
181
-
182
-
183
- // JavaScriptを有効化
184
-
185
- webView.getSettings().setJavaScriptEnabled(true);
186
-
187
-
188
-
189
- // Web Storage を有効化
190
-
191
- webView.getSettings().setDomStorageEnabled(true);
192
-
193
-
194
-
195
- // Hardware Acceleration ON
196
-
197
- getWindow().setFlags(
198
-
199
- WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,
200
-
201
- WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);
202
-
203
-
204
-
205
- webView.loadUrl(accessUrl2);
206
-
207
- }
208
-
209
- });
210
-
211
-
212
-
213
- //ボタン2
214
-
215
- button2.setOnClickListener(new View.OnClickListener() {
216
-
217
- @Override
218
-
219
- public void onClick(View v) {
220
-
221
-
222
-
223
- setContentView(R.layout.activity_main);
224
-
225
- webView = findViewById(R.id.web_view);
226
-
227
-
228
-
229
- //webView内でクリックしても標準ブラウザを立ち上げない
230
-
231
-
232
-
233
- webView.setWebViewClient(new WebViewClient(){
234
-
235
- @Override
236
-
237
- public boolean shouldOverrideUrlLoading(WebView view, String url) {
238
-
239
- return false;
240
-
241
- }
242
-
243
- });
244
-
245
-
246
-
247
- // JavaScriptを有効化
248
-
249
- webView.getSettings().setJavaScriptEnabled(true);
250
-
251
-
252
-
253
- // Web Storage を有効化
254
-
255
- webView.getSettings().setDomStorageEnabled(true);
256
-
257
-
258
-
259
- // Hardware Acceleration ON
260
-
261
- getWindow().setFlags(
262
-
263
- WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,
264
-
265
- WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);
266
-
267
-
268
-
269
- webView.loadUrl(accessUrl3);
270
-
271
- //webView.reload();
272
-
273
- }
274
-
275
- });
276
-
277
-
278
-
279
-
280
-
281
- }
282
-
283
- ```
284
-
285
-
286
-
287
- **activity_main.xml**
288
-
289
- ```
290
-
291
- <?xml version="1.0" encoding="utf-8"?>
292
-
293
-
294
-
295
- <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
296
-
297
- xmlns:app="http://schemas.android.com/apk/res-auto"
298
-
299
- xmlns:tools="http://schemas.android.com/tools"
300
-
301
- android:layout_width="match_parent"
302
-
303
- android:layout_height="match_parent"
304
-
305
- android:background="#dfe"
306
-
307
-
308
-
309
- tools:context=".MainActivity">
310
-
311
-
312
-
313
-
314
-
315
- <WebView
316
-
317
- android:id="@+id/web_view"
318
-
319
- android:layout_width="match_parent"
320
-
321
- android:layout_height="662dp"
322
-
323
- android:layout_alignParentTop="true"
324
-
325
- android:layout_marginTop="0dp"
326
-
327
- tools:layout_editor_absoluteX="0dp"
328
-
329
- tools:layout_editor_absoluteY="-5dp"></WebView>
330
-
331
-
332
-
333
- <ImageButton
334
-
335
- android:id="@+id/imageButton_1"
336
-
337
- android:layout_width="80dp"
338
-
339
- android:layout_height="77dp"
340
-
341
- android:layout_below="@+id/web_view"
342
-
343
- android:layout_marginTop="0dp"
344
-
345
- app:layout_constraintBottom_toBottomOf="parent"
346
-
347
- app:srcCompat="@drawable/btn_a"
348
-
349
- tools:layout_editor_absoluteX="0dp" />
350
-
351
-
352
-
353
- <ImageButton
354
-
355
- android:id="@+id/imageButton_2"
356
-
357
- android:layout_width="80dp"
358
-
359
- android:layout_height="77dp"
360
-
361
- android:layout_below="@+id/web_view"
362
-
363
- android:layout_marginStart="0dp"
364
-
365
- android:layout_marginTop="0dp"
366
-
367
- android:layout_toEndOf="@+id/imageButton_1"
368
-
369
- app:srcCompat="@drawable/btn_b" />
370
-
371
-
372
-
373
-
374
-
375
- </RelativeLayout>
376
-
377
- ```
378
-
379
-
380
-
381
- ![イメージ説明](15b5d16c36b271ab52aed50f1c2f1e14.png)