1

fromI am using ImageView in my App,Like below code

ImageView menu=(ImageView)findViewById(R.id.imageView1);
@Override
public void onclick(View v)
{
    int id = v.getId();
    if(id==R.id.imageView1)
    {
         if (menuopen.getVisibility() == View.VISIBLE) {
                menuopen.setVisibility(View.GONE);
                menu.setImageResource(R.drawable.menu_close_image);
            } else {
                menuopen.setVisibility(View.VISIBLE);
                menu.setImageResource(R.drawable.menu_open_image);
            }
    }
}

In above code ,based on menu open i am changing the Images from drawable resource,while doing this i want get to know which image is currently visible in screen.How to find that?

I want to use image info some where else in the code.

learner
  • 3,092
  • 2
  • 21
  • 33
  • you can take a variable mCurrentImage and set it when you set the images... – Meenal Sep 29 '14 at 05:39
  • what is `menuopen`. Is it `imageView1` ? – Kaushik Sep 29 '14 at 05:41
  • @kaushik menuopen is not imageview ,it is some menu layout(custom view) – learner Sep 29 '14 at 05:43
  • I think you are showing two images base on menuopen visibility then you already know which is currently showing base on menuopen visibility state if is visible then open_image else close_image. – Haresh Chhelana Sep 29 '14 at 05:46
  • You could just tag the imageview with the drawable id? Or any other kind of information you may be interested in for that matter. – MH. Sep 29 '14 at 07:48

3 Answers3

0
you can have it like this


ImageView menu=(ImageView)findViewById(R.id.imageView1);
@Override
  public void onclick(View v)
  {
int id = v.getId();
if(id==R.id.imageView1)
  {
     if (menuopen.getVisibility() == View.VISIBLE) {
            menuopen.setVisibility(View.GONE);
            menu.setImageResource(R.drawable.menu_close_image);
     mCurrentImage=R.drawable.menu_close_image
        } else {
            menuopen.setVisibility(View.VISIBLE);
            menu.setImageResource(R.drawable.menu_open_image);
          mCurrentImage=R.drawable.menu_open_image
        }
}

}

Meenal
  • 2,879
  • 5
  • 19
  • 43
0

Try out as below:

ImageView menu=(ImageView)findViewById(R.id.imageView1);
@Override
public void onclick(View v)
{
    switch(v.getId())
    {
      case R.id.imageView1:
         if (menuopen.getVisibility() == View.VISIBLE) {
                menuopen.setVisibility(View.GONE);
                menu.setImageResource(R.drawable.menu_close_image);
            } else if (menuopen.getVisibility() == View.INVISIBLE) {
                menuopen.setVisibility(View.VISIBLE);
                menu.setImageResource(R.drawable.menu_open_image);
            }
      break;
     }
 }
GrIsHu
  • 29,068
  • 10
  • 64
  • 102
0
private int[] imageArray = {
             R.drawable.image1,
             R.drawable.image2
         };

//set this image as id to that imageview(menu)

menu.setId(imageArray[i]);

//then In onclick

if(menu.getId==R.drawable.image1{
//image1 is displaying
}else{
//image2 is displaying
}
Lingeshwaran
  • 579
  • 4
  • 15