How to compare image file name with string in Kotlin?
up vote
1
down vote
favorite
How do I compare image file name (which is set as my ImageView image resource) with a string?
I want to compare currently used image resource with defined string and if it matches then change it to a different image (by clicking a button).
I want to precisely define what image should be displayed next (depending on what button is clicked and which image is currently shown) and I want to do it many times (I know how to switch images with ImageSwitcher or how to change image with a button click, but it's not enough).
Edit:
So far I did something like this. I wanted to get current ImageView content description and then compare it. Bu of course it's not working because it describes the content of ImageView, not the Image itself. But it shows the idea what I want to do.
val imageView = findViewById(R.id.display) as ImageView
imageView.setImageResource(R.drawable.one)
val imageName = imageView.getContentDescription()
val buttonYes : Button = findViewById(R.id.yesButton)
val buttonNo : Button = findViewById(R.id.noButton)
when
(imageName.equals(one))-> buttonYes.setOnClickListener imageView.setImageResource(two)
(imageName.equals(one))-> buttonNo.setOnClickListener imageView.setImageResource(three)
(imageName.equals(two))-> buttonYes.setOnClickListener imageView.setImageResource(five)
android android-studio kotlin
add a comment |
up vote
1
down vote
favorite
How do I compare image file name (which is set as my ImageView image resource) with a string?
I want to compare currently used image resource with defined string and if it matches then change it to a different image (by clicking a button).
I want to precisely define what image should be displayed next (depending on what button is clicked and which image is currently shown) and I want to do it many times (I know how to switch images with ImageSwitcher or how to change image with a button click, but it's not enough).
Edit:
So far I did something like this. I wanted to get current ImageView content description and then compare it. Bu of course it's not working because it describes the content of ImageView, not the Image itself. But it shows the idea what I want to do.
val imageView = findViewById(R.id.display) as ImageView
imageView.setImageResource(R.drawable.one)
val imageName = imageView.getContentDescription()
val buttonYes : Button = findViewById(R.id.yesButton)
val buttonNo : Button = findViewById(R.id.noButton)
when
(imageName.equals(one))-> buttonYes.setOnClickListener imageView.setImageResource(two)
(imageName.equals(one))-> buttonNo.setOnClickListener imageView.setImageResource(three)
(imageName.equals(two))-> buttonYes.setOnClickListener imageView.setImageResource(five)
android android-studio kotlin
1
ciao and welcome to StackOverflow! can you please post your attempts so far in order to be better helped to solve your question? thanks!
– Antonino
Nov 11 at 0:44
add a comment |
up vote
1
down vote
favorite
up vote
1
down vote
favorite
How do I compare image file name (which is set as my ImageView image resource) with a string?
I want to compare currently used image resource with defined string and if it matches then change it to a different image (by clicking a button).
I want to precisely define what image should be displayed next (depending on what button is clicked and which image is currently shown) and I want to do it many times (I know how to switch images with ImageSwitcher or how to change image with a button click, but it's not enough).
Edit:
So far I did something like this. I wanted to get current ImageView content description and then compare it. Bu of course it's not working because it describes the content of ImageView, not the Image itself. But it shows the idea what I want to do.
val imageView = findViewById(R.id.display) as ImageView
imageView.setImageResource(R.drawable.one)
val imageName = imageView.getContentDescription()
val buttonYes : Button = findViewById(R.id.yesButton)
val buttonNo : Button = findViewById(R.id.noButton)
when
(imageName.equals(one))-> buttonYes.setOnClickListener imageView.setImageResource(two)
(imageName.equals(one))-> buttonNo.setOnClickListener imageView.setImageResource(three)
(imageName.equals(two))-> buttonYes.setOnClickListener imageView.setImageResource(five)
android android-studio kotlin
How do I compare image file name (which is set as my ImageView image resource) with a string?
I want to compare currently used image resource with defined string and if it matches then change it to a different image (by clicking a button).
I want to precisely define what image should be displayed next (depending on what button is clicked and which image is currently shown) and I want to do it many times (I know how to switch images with ImageSwitcher or how to change image with a button click, but it's not enough).
Edit:
So far I did something like this. I wanted to get current ImageView content description and then compare it. Bu of course it's not working because it describes the content of ImageView, not the Image itself. But it shows the idea what I want to do.
val imageView = findViewById(R.id.display) as ImageView
imageView.setImageResource(R.drawable.one)
val imageName = imageView.getContentDescription()
val buttonYes : Button = findViewById(R.id.yesButton)
val buttonNo : Button = findViewById(R.id.noButton)
when
(imageName.equals(one))-> buttonYes.setOnClickListener imageView.setImageResource(two)
(imageName.equals(one))-> buttonNo.setOnClickListener imageView.setImageResource(three)
(imageName.equals(two))-> buttonYes.setOnClickListener imageView.setImageResource(five)
android android-studio kotlin
android android-studio kotlin
edited Nov 11 at 9:05
asked Nov 11 at 0:16
Klops
62
62
1
ciao and welcome to StackOverflow! can you please post your attempts so far in order to be better helped to solve your question? thanks!
– Antonino
Nov 11 at 0:44
add a comment |
1
ciao and welcome to StackOverflow! can you please post your attempts so far in order to be better helped to solve your question? thanks!
– Antonino
Nov 11 at 0:44
1
1
ciao and welcome to StackOverflow! can you please post your attempts so far in order to be better helped to solve your question? thanks!
– Antonino
Nov 11 at 0:44
ciao and welcome to StackOverflow! can you please post your attempts so far in order to be better helped to solve your question? thanks!
– Antonino
Nov 11 at 0:44
add a comment |
2 Answers
2
active
oldest
votes
up vote
1
down vote
A way (or trick) to solve this is to store the name of the drawable in the imageview's tag:
imageView.setImageResource(R.drawable.one)
imageView.tag = "one"
and then compare the tag:
when (imageView.tag.toString())
"one" -> buttonYes.setOnClickListener imageView.setImageResource(two)
"two" -> buttonYes.setOnClickListener imageView.setImageResource(five)
if you don't want to hardcode the id then use this:
imageView.setImageResource(R.drawable.one)
imageView.tag = resources.getResourceEntryName(R.drawable.one)
thank you! that was very heplful! I used your idea and made some other changes to my code (like getting "setOnClickListner) before when) and it's working just like I wanted it to!
– Klops
Nov 11 at 12:47
add a comment |
up vote
0
down vote
You can do
String1 = "nameOne";
String2 = "nameTwo";
and by using in
operator
String2 in String1
Or you can use
"nameOne".contains("nameTwo", ignoreCase = true)
Case usually matters when it comes to files though, so settingignoreCase
to true might not be the best idea
– Zoe
Nov 11 at 12:19
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53244699%2fhow-to-compare-image-file-name-with-string-in-kotlin%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
1
down vote
A way (or trick) to solve this is to store the name of the drawable in the imageview's tag:
imageView.setImageResource(R.drawable.one)
imageView.tag = "one"
and then compare the tag:
when (imageView.tag.toString())
"one" -> buttonYes.setOnClickListener imageView.setImageResource(two)
"two" -> buttonYes.setOnClickListener imageView.setImageResource(five)
if you don't want to hardcode the id then use this:
imageView.setImageResource(R.drawable.one)
imageView.tag = resources.getResourceEntryName(R.drawable.one)
thank you! that was very heplful! I used your idea and made some other changes to my code (like getting "setOnClickListner) before when) and it's working just like I wanted it to!
– Klops
Nov 11 at 12:47
add a comment |
up vote
1
down vote
A way (or trick) to solve this is to store the name of the drawable in the imageview's tag:
imageView.setImageResource(R.drawable.one)
imageView.tag = "one"
and then compare the tag:
when (imageView.tag.toString())
"one" -> buttonYes.setOnClickListener imageView.setImageResource(two)
"two" -> buttonYes.setOnClickListener imageView.setImageResource(five)
if you don't want to hardcode the id then use this:
imageView.setImageResource(R.drawable.one)
imageView.tag = resources.getResourceEntryName(R.drawable.one)
thank you! that was very heplful! I used your idea and made some other changes to my code (like getting "setOnClickListner) before when) and it's working just like I wanted it to!
– Klops
Nov 11 at 12:47
add a comment |
up vote
1
down vote
up vote
1
down vote
A way (or trick) to solve this is to store the name of the drawable in the imageview's tag:
imageView.setImageResource(R.drawable.one)
imageView.tag = "one"
and then compare the tag:
when (imageView.tag.toString())
"one" -> buttonYes.setOnClickListener imageView.setImageResource(two)
"two" -> buttonYes.setOnClickListener imageView.setImageResource(five)
if you don't want to hardcode the id then use this:
imageView.setImageResource(R.drawable.one)
imageView.tag = resources.getResourceEntryName(R.drawable.one)
A way (or trick) to solve this is to store the name of the drawable in the imageview's tag:
imageView.setImageResource(R.drawable.one)
imageView.tag = "one"
and then compare the tag:
when (imageView.tag.toString())
"one" -> buttonYes.setOnClickListener imageView.setImageResource(two)
"two" -> buttonYes.setOnClickListener imageView.setImageResource(five)
if you don't want to hardcode the id then use this:
imageView.setImageResource(R.drawable.one)
imageView.tag = resources.getResourceEntryName(R.drawable.one)
edited Nov 11 at 9:34
answered Nov 11 at 9:24
forpas
6,8101318
6,8101318
thank you! that was very heplful! I used your idea and made some other changes to my code (like getting "setOnClickListner) before when) and it's working just like I wanted it to!
– Klops
Nov 11 at 12:47
add a comment |
thank you! that was very heplful! I used your idea and made some other changes to my code (like getting "setOnClickListner) before when) and it's working just like I wanted it to!
– Klops
Nov 11 at 12:47
thank you! that was very heplful! I used your idea and made some other changes to my code (like getting "setOnClickListner) before when) and it's working just like I wanted it to!
– Klops
Nov 11 at 12:47
thank you! that was very heplful! I used your idea and made some other changes to my code (like getting "setOnClickListner) before when) and it's working just like I wanted it to!
– Klops
Nov 11 at 12:47
add a comment |
up vote
0
down vote
You can do
String1 = "nameOne";
String2 = "nameTwo";
and by using in
operator
String2 in String1
Or you can use
"nameOne".contains("nameTwo", ignoreCase = true)
Case usually matters when it comes to files though, so settingignoreCase
to true might not be the best idea
– Zoe
Nov 11 at 12:19
add a comment |
up vote
0
down vote
You can do
String1 = "nameOne";
String2 = "nameTwo";
and by using in
operator
String2 in String1
Or you can use
"nameOne".contains("nameTwo", ignoreCase = true)
Case usually matters when it comes to files though, so settingignoreCase
to true might not be the best idea
– Zoe
Nov 11 at 12:19
add a comment |
up vote
0
down vote
up vote
0
down vote
You can do
String1 = "nameOne";
String2 = "nameTwo";
and by using in
operator
String2 in String1
Or you can use
"nameOne".contains("nameTwo", ignoreCase = true)
You can do
String1 = "nameOne";
String2 = "nameTwo";
and by using in
operator
String2 in String1
Or you can use
"nameOne".contains("nameTwo", ignoreCase = true)
answered Nov 11 at 9:31
hossam scott
1
1
Case usually matters when it comes to files though, so settingignoreCase
to true might not be the best idea
– Zoe
Nov 11 at 12:19
add a comment |
Case usually matters when it comes to files though, so settingignoreCase
to true might not be the best idea
– Zoe
Nov 11 at 12:19
Case usually matters when it comes to files though, so setting
ignoreCase
to true might not be the best idea– Zoe
Nov 11 at 12:19
Case usually matters when it comes to files though, so setting
ignoreCase
to true might not be the best idea– Zoe
Nov 11 at 12:19
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53244699%2fhow-to-compare-image-file-name-with-string-in-kotlin%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
ciao and welcome to StackOverflow! can you please post your attempts so far in order to be better helped to solve your question? thanks!
– Antonino
Nov 11 at 0:44