質問編集履歴

2

コード

2019/12/07 08:06

投稿

souja
souja

スコア13

test CHANGED
File without changes
test CHANGED
@@ -185,3 +185,35 @@
185
185
  ```
186
186
 
187
187
  具体的には運動の例を表示したいと考えています。SharedPreferenceでundoureiを読み込んでそれをテキストとして表示したいです。(undou)
188
+
189
+
190
+
191
+ ソースです。上のコードの一つ前のActivityで以下の例を保存しています。putExtraのほうが確実なのでしょうか?
192
+
193
+ ```java
194
+
195
+
196
+
197
+ //例をプリファレンスで保存//
198
+
199
+ undourei = PreferenceManager.getDefaultSharedPreferences(this);
200
+
201
+
202
+
203
+ //例の保存//
204
+
205
+ hozonbutton.setOnClickListener(new View.OnClickListener(){
206
+
207
+ public void onClick(View view){
208
+
209
+ editor = undourei.edit();
210
+
211
+ editor.putString("undou", String.valueOf(textView2));
212
+
213
+ editor.apply();
214
+
215
+ }
216
+
217
+ });
218
+
219
+ ```

1

ソースの記述

2019/12/07 08:06

投稿

souja
souja

スコア13

test CHANGED
File without changes
test CHANGED
@@ -1 +1,187 @@
1
1
  android studioでSharedPreferenceでTextViewに表示した文字を保存してべつのActivityのTextViewに表示したいと考えています。ビルドしてエミュレーターで動かすことはできます。そして保存して別のActivityで表示させることはできるのですが、「androidx.appcompat.widget.AppCompat.TextView{fdef34a V.E.D........」という文字列がTextViewに表示されてしまいます。これは何が起こっているのでしょうか?
2
+
3
+ ```java
4
+
5
+
6
+
7
+ package com.example.soja.page1;
8
+
9
+
10
+
11
+ import androidx.appcompat.app.AppCompatActivity;
12
+
13
+ import androidx.core.app.ActivityCompat;
14
+
15
+
16
+
17
+ import android.app.Activity;
18
+
19
+ import android.content.Intent;
20
+
21
+ import android.content.SharedPreferences;
22
+
23
+ import android.os.Bundle;
24
+
25
+ import android.preference.PreferenceManager;
26
+
27
+ import android.view.View;
28
+
29
+ import android.widget.Button;
30
+
31
+ import android.widget.SimpleAdapter;
32
+
33
+ import android.widget.TextView;
34
+
35
+
36
+
37
+ import java.math.BigDecimal;
38
+
39
+ import java.math.RoundingMode;
40
+
41
+
42
+
43
+ public class nextpage9 extends AppCompatActivity {
44
+
45
+ private TextView bmiresult, fatresult, boneresult, muscleresult, vascularageresult;
46
+
47
+ private TextView ansview, undouview;
48
+
49
+ int tall, weight, fat, bone, muscle, vascularage;
50
+
51
+ double bmi;
52
+
53
+ String undou;
54
+
55
+ double sta;
56
+
57
+ private Button finishbutton;
58
+
59
+
60
+
61
+ @Override
62
+
63
+ protected void onCreate(Bundle savedInstanceState) {
64
+
65
+ super.onCreate(savedInstanceState);
66
+
67
+ setContentView(R.layout.activity_nextpage9);
68
+
69
+
70
+
71
+ //プリファレンスの取得//
72
+
73
+ final SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(this);
74
+
75
+ final SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
76
+
77
+ final SharedPreferences pref5 = PreferenceManager.getDefaultSharedPreferences(this);
78
+
79
+ final SharedPreferences pref2 = PreferenceManager.getDefaultSharedPreferences(this);
80
+
81
+ final SharedPreferences pref3 = PreferenceManager.getDefaultSharedPreferences(this);
82
+
83
+ final SharedPreferences pref4 = PreferenceManager.getDefaultSharedPreferences(this);
84
+
85
+ final SharedPreferences answers = PreferenceManager.getDefaultSharedPreferences(this);
86
+
87
+ final SharedPreferences undourei = PreferenceManager.getDefaultSharedPreferences(this);
88
+
89
+
90
+
91
+ undou = undourei.getString("undou", null);
92
+
93
+ sta = answers.getInt("rei", 0);
94
+
95
+ tall = pref.getInt("tall", 0);
96
+
97
+ weight = preferences.getInt("weight", 0);
98
+
99
+ fat = pref5.getInt("fat", 0);
100
+
101
+ bone = pref2.getInt("bone", 0);
102
+
103
+ muscle = pref3.getInt("muscle", 0);
104
+
105
+ vascularage = pref4.getInt("vascularage", 0);
106
+
107
+
108
+
109
+ bmi = weight / ((tall * 0.01) * (tall * 0.01));
110
+
111
+
112
+
113
+ BigDecimal bigDecimal = new BigDecimal(String.valueOf(bmi));
114
+
115
+ bmi = bigDecimal.setScale(1, RoundingMode.FLOOR).doubleValue();
116
+
117
+
118
+
119
+ //結果の表示//
120
+
121
+ bmiresult = findViewById(R.id.editText8);
122
+
123
+ fatresult = findViewById(R.id.editText9);
124
+
125
+ boneresult = findViewById(R.id.editText10);
126
+
127
+ muscleresult = findViewById(R.id.editText11);
128
+
129
+ vascularageresult = findViewById(R.id.editText16);
130
+
131
+
132
+
133
+ bmiresult.setText(String.valueOf(bmi));
134
+
135
+ fatresult.setText(String.valueOf(fat));
136
+
137
+ boneresult.setText(String.valueOf(bone));
138
+
139
+ muscleresult.setText(String.valueOf(muscle));
140
+
141
+ vascularageresult.setText(String.valueOf(vascularage));
142
+
143
+
144
+
145
+ ansview = findViewById(R.id.editText17);
146
+
147
+ ansview.setText(String.valueOf(sta));
148
+
149
+
150
+
151
+ //例の表示//
152
+
153
+ undouview = findViewById(R.id.textView86);
154
+
155
+ undouview.setText(String.valueOf(undou));
156
+
157
+
158
+
159
+ //終了ボタンのセット//
160
+
161
+ finishbutton = findViewById(R.id.button5);
162
+
163
+
164
+
165
+ //終了ボタンを押したときの処理//
166
+
167
+ finishbutton.setOnClickListener(new View.OnClickListener() {
168
+
169
+ @Override
170
+
171
+ public void onClick(View view) {
172
+
173
+ ActivityCompat.finishAffinity(nextpage9.this);
174
+
175
+ }
176
+
177
+ });
178
+
179
+ }
180
+
181
+ }
182
+
183
+
184
+
185
+ ```
186
+
187
+ 具体的には運動の例を表示したいと考えています。SharedPreferenceでundoureiを読み込んでそれをテキストとして表示したいです。(undou)