質問編集履歴

1

文法の修正を行いました

2018/11/28 08:36

投稿

katakuri
katakuri

スコア17

test CHANGED
File without changes
test CHANGED
@@ -42,53 +42,83 @@
42
42
 
43
43
 
44
44
 
45
- public override fun onActivityResult(requestCode: Int, resultCode: Int, resultData: Intent?) {
45
+ public override fun onActivityResult(requestCode: Int, resultCode: Int, resultData: Intent?) {
46
46
 
47
- if(resultCode != RESULT_OK)return
47
+ if(resultCode == RESULT_OK) {
48
48
 
49
- when(requestCode){
49
+ when(requestCode){
50
50
 
51
- 1->{
51
+ 1->{
52
52
 
53
- var uri: Uri?
53
+ var uri: Uri?
54
54
 
55
- if (resultData != null) {
55
+ if(resultData != null) {
56
56
 
57
- uri = resultData?.data //渡されてきた画像データ回収
57
+ try{
58
58
 
59
- val intent = Intent("com.android.camera.action.CROP")
59
+ uri = resultData?.data //渡されてきた画像データ回収
60
60
 
61
- intent.setDataAndType(uri,"image/*")
61
+ val intent = Intent("com.android.camera.action.CROP")
62
62
 
63
- intent.putExtra("crop","true")
63
+ intent.setDataAndType(uri,"image/*")
64
64
 
65
- intent.putExtra("outputX", 94)
65
+ intent.putExtra("crop","true")
66
66
 
67
- intent.putExtra("outputY", 94)
67
+ intent.putExtra("outputX", 250)
68
68
 
69
- intent.putExtra("aspectX", 1)
69
+ intent.putExtra("outputY", 320)
70
70
 
71
- intent.putExtra("aspectY", 1)
71
+ intent.putExtra("aspectX", 1)
72
72
 
73
- intent.putExtra("scale", true)
73
+ intent.putExtra("aspectY", 1)
74
74
 
75
- intent.putExtra("return-data", true)
75
+ intent.putExtra("scale", true)
76
76
 
77
- startActivityForResult(intent, 2)
77
+ intent.putExtra("return-data", true)
78
78
 
79
- }
79
+ startActivityForResult(intent, 2)
80
80
 
81
- }
81
+ } catch (e: IOException) {e.printStackTrace()}
82
82
 
83
- 2->{
83
+ }
84
84
 
85
- var bmp: Bitmap = resultData!!.getExtras().getParcelable("resultData")
85
+ }
86
86
 
87
- imageButton.setImageBitmap(bmp)
87
+ 2->{
88
88
 
89
+ if (resultData != null){
90
+
91
+ //var bmp: Bitmap = resultData!!.getExtras().getParcelable("resultData"){
92
+
93
+ var uri: Uri?
94
+
95
+ uri = resultData?.data
96
+
97
+ var bmp:Bitmap = getBitmapFromUri(uri)
98
+
99
+ imageButton.setImageBitmap(bmp)
100
+
89
- }
101
+ }
102
+
103
+ }
104
+
105
+ }
90
106
 
91
107
  }
108
+
109
+ }
110
+
111
+ private fun getBitmapFromUri(uri: Uri): Bitmap {
112
+
113
+ val parcelFileDescriptor = contentResolver.openFileDescriptor(uri, "r")
114
+
115
+ val fileDescriptor = parcelFileDescriptor!!.fileDescriptor
116
+
117
+ var image = BitmapFactory.decodeFileDescriptor(fileDescriptor)
118
+
119
+ parcelFileDescriptor.close()
120
+
121
+ return image
92
122
 
93
123
  }
94
124
 
@@ -106,6 +136,10 @@
106
136
 
107
137
  例when文をifなどで行うなど
108
138
 
139
+ javaをkotlinにする知識はあります。
140
+
141
+ javaでも構いません、お助けください。
142
+
109
143
 
110
144
 
111
145
  ### 補足情報(FW/ツールのバージョンなど)